In this section we will discuss the React component API. We will explain the following seven methods:
Set status:
setStateReplacement status:
replaceStateSet the properties:
setPropsReplace attributes:
replacePropsForce updates:
forceUpdateGet the DOM node:
findDOMNodeDetermine the mount status of the component:
isMounted
3.11.1. Set status:
setState
¶
setState(object nextState[, function callback])
Parameter description ¶
nextStatenew state to be set, which will be the same as the currentstatemerge.callbackoptional parameters, callback function. The function will be found in thesetStateset up successfully and the component is called after re-rendering.
Merge
nextState
and current
state
and re-render the component
setState
is the main way to trigger UI updates in React event handlers and request callbacks.
About
setState
¶
Cannot be passed within the component
this.state
modify the state because it will be called
setState()
and then replaced.
setState()
doesn’t change immediately.
this.state
instead, create a soon-to-be processed
state
.
setState()
it is not necessarily synchronous, and React will execute in batches to improve performance.
state
and DOM rendering.
setState()
always triggers a component redrawing, unless in the
shouldComponentUpdate()
some conditional rendering logic is implemented in.
Example ¶
3.11.2. React instance ¶
classCounterextendsReact.Component{constructor(props){super(props);this.state=
{clickCount:0};this.handleClick=this.handleClick.bind(this);}handleClick()
{this.setState(function(state){return{clickCount:state.clickCount+1};});}render()
{return(<h2onClick={this.handleClick}>Click me! The number of clicks is:{this.state.clickCount}</h2>);}}
ReactDOM.render(<Counter/>,document.getElementById('example'));
In the example, the click counter is increased by 1 by clicking the H2 tab.
3.11.3. Replacement status:
replaceState
¶
replaceState(object nextState[, function callback])
nextStatethe new state to be set, which replaces the currentstate.callbackoptional parameters, callback function. The function will be found in thereplaceStateset up successfully and the component is called after re-rendering.
replaceState()
methods and
setState()
similar, but the method only retains
nextState
in state, original
state
not here
nextState
all the states in the are deleted.
3.11.4. Set property: setProps ¶
setProps(object nextProps[, function callback])
nextPropsthe new property to be set, the state will be the same as the currentpropsmergecallbackoptional parameters, callback function. The function will be found in thesetPropsset up successfully and the component is called after re-rendering.
Set the component properties and re-render the component.
props
is equivalent to the data flow of a component, which is always passed down from the parent component to all child components. When integrating with an external JavaScript application, we may need to pass data or notification to the component
React.render()
components need tobe re-rendered, and you can use the
setProps()
.
Update the component so that I can call it again on the node
React.render()
can also be done through
setProps()
method to change the properties of the component and trigger the component to re-render.
3.11.5. Replace attributes:
replaceProps
¶
replaceProps(object nextProps[, function callback])
nextPropsthe new property to be set, which replaces the currentprops.callbackoptional parameters, callback function. The function will be found in thereplacePropsset up successfully and the component is called after re-rendering.
replaceProps()
methods and
setProps
similar, but it deletes the original
props
.
3.11.6. Force updates:
forceUpdate
¶
forceUpdate([function callback])
Parameter description ¶
callbackoptional parameters, callback function. This function will be used in the componentrender()called after the method is called.
forceUpdate()
method causes the component to call its own
render()
method to re-render the component, and the component’s child components also call their own
render()
. However, when the component renders again, it still reads the
this.props
and
this.state
if the state does notchange, React will only update the DOM
forceUpdate()
method is applicable to
this.props
and
this.state
redraw components other than (e. G. modified
this.state
. This method notifies React that it needs to call
render()
Generally speaking, you should try to avoid using
forceUpdate()
and only from
this.props
and
this.state
read the status in and triggered by React
render()
call.
3.11.7. Get DOM node: findDOMNode ¶
DOMElement findDOMNode()
Return value: DOM element
DOMElement
If the component is already mounted in DOM, the method returns the corresponding local browser DOM element. When
render
return
null
or
false
hour
this.findDOMNode()
will also return
null
. Thismethod is useful when reading values from DOM, such as getting the value ofa form field and doing some DOM operations.
3.11.8. Determine the mount status of the component: isMounted ¶
bool isMounted()
Return value:
trueorfalseindicating whether the component has been mounted into the DOM
isMounted()
method is used to determine whether the component has been mounted into the DOM. You can use this method to ensure
setState()
and
forceUpdate()
calls in asynchronous scenarios do not go wrong.
This article refers to: http://itbilu.com/javascript/react/EkACBdqKe.html