最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。
React element event handling and DOM elements are similar. But there is one grammatical difference:
Reactevent binding properties are named in hump style rather than lowercase.If you use the syntax of JSX, you need to pass in a function as an event handler instead of a string (DOM element)
HTML is usually written as follows:
<button onclick="activateLasers()"> Activate button button> React written in Chinese is as follows:
<button onClick={activateLasers}> Activate button button> In React the other difference is that you can’t use return false to prevent the default behavior, you must explicitly use the preventDefault .
For example, we usually block links from opening a new page by default in HTML, which can be written as follows:
<a href="#" onclick="console.log('click the link'); return false"> Click me a> In React is written as follows:
functionActionLink(){functionhandleClick(e){e.preventDefault();console.log('click the link');}return(<ahref="#"onClick={handleClick}> Click me a>);} In the instance e is a synthetic event.
Use React usually you don’t need to use addEventListener add a listener to a created DOM element. You only need to provide a listener when the element is initially rendered.
When you use ES6 class syntax to define a component, the event handler becomes a method of the class. For example, the following Toggle component renders a button that allows the user to toggle the switch state:
3.8.1. Example ¶
classToggleextendsReact.Component{constructor(props){super(props);this.state={isToggleOn:true};//Binding here is necessary, so \`this\` Can only be used in callback functions. this.handleClick=this.handleClick.bind(this);}handleClick(){this.setState(prevState=>({isToggleOn: !prevState.isToggleOn}));}render(){return({this.state.isToggleOn?'ON':'OFF'});}}ReactDOM.render(,document.getElementById('example')); You have to be careful with the JSX callback function this the method of the class is not bound by default this of. If you forget to bind this.handleClick and pass it in. onClick when you call this function this the value will be undefined .
This is not a special behavior of React; it is part of how the function runs in JavaScript. Usually, if you don’t add to the method () , for example onClick={this.handleClick} you should bind for this method this .
If you use the bind it bothers you. There are two ways to solve it. If you are using the experimental property initializer syntax, you can use the property initializer to bind the callback function correctly:
classLoggingButtonextendsReact.Component{//This grammar ensures that \`this\` Bind to handleClick in//This is just a test handleClick=()=>{console.log('this is:',this);}render(){return(Clickme);}} If you don’t use the property initializer syntax, you can use the arrow function in the callback function:
classLoggingButtonextendsReact.Component{handleClick(){console.log('this is:',this);}render(){//This grammar ensures that \`this\` Bind to handleClick in return(<buttononClick={(e)=>this.handleClick(e)}>Clickmebutton>);}} The problem with using this syntax is that every time LoggingButton a different callback function is created when rendering. In most cases, this is fine. However, if this callback function is passed into lower-level components as an attribute value, those components may be re-rendered additionally. We usually recommend binding in the constructor or using attribute initializer syntax to avoid such performance problems.
Pass parameters to the event handler ¶
Usually we pass additional parameters to the event handler. For example, if id it was you who wanted to delete that line. id can pass parameters to the event handler in either of the following ways
<button onClick={(e) => this.deleteRow(id, e)}>Delete Rowbutton> <button onClick={this.deleteRow.bind(this, id)}>Delete Rowbutton> The above two methods are equivalent. In the above two examples, the parameters e as React the event object will be passed as the second parameter. Through the arrow function, the event object must be explicitly passed, but through the bind event objects and more parameters will be passed implicitly.
It is worth noting that through bind method to pass parameters to the listener function, the listener function defined in the class component, and the event object e should be arranged after the passed parameter, for example:
classPopperextendsReact.Component{constructor(){super();this.state={name:'Hello world!'};}preventPop(name,e){//Event object e should be placed last e.preventDefault();alert(name);}render(){return( hello
{/\*pass through bind() Method passes parameters.\*/}Click );}}
-
1. Angularjs2
8
-
1. SVG tutorial
19
-
1. Memcached
20
-
1. C# tutorial
61
-
1. Sqlite
47
-
2. Go
43
-
2. Docker
59
-
2. Vue3
19
-
2. Servlet
21
-
3. React
23
-
3.20. React componentWillUnmount() method
-
3.11. React component API
-
3.3. React element rendering
-
>
3.8. React event handling
-
3.6. React State
-
3.22. React forms and events
-
3.10. React list & Keys
-
3.2. React installation
-
3.23. React Refs
-
3.1. React tutorial
-
3. SOAP tutorial
10
-
3. Android
18
-
3. Mongodb
44
-
3. Kotlin
18
-
4. Lua
31
-
4. MySQL tutorial
35
-
4. Appml
12
-
5. Perl
45
-
5. Postgresql
41
-
web
15
-
5. Web Services tutorial
6
-
6. Ruby
42
-
6. Design-pattern
35
-
7. Django
18
-
7. Rust
22
-
6. WSDL tutorial
8
-
8. Foundation
39
-
9. Ios
43
-
8. Css3
26
-
9. Swift
44
-
11. HTML tutorial-(HTML5 Standard)
54
-
12. Http
6
-
13. Regex
6
-
14. Regexp
8
-
1. Introduction to geographic information system
6
-
2. From the Real World to the Bit World
3
-
3. Spatial Data Model
7
-
4. 空间参照系统和 地图投影
5
-
5. Data in GIS
3
-
6. Spatial data acquisition
2
-
7. Spatial Data Management
6
-
8. Spatial analysis
8
-
9. 数字地形模型( DTM )与地形分析
5
-
10. 空间建模与 空间决策支持
6
-
11. Spatial data representation and map making
6
-
12. 3S Integration Technology
5
-
13. 网络地理信息系统
3
-
14. Examples of Geographic Information System Application
8
-
15. Organization and Management of Geographic Information System Application Projects
9
-
16. Geographic Information system Software Engineering Technology
6
-
17. Geographic Information System Standards
3
-
18. Geographic Information System and Society
3
-
19. Earth Information Science and Digital Earth
3