在React中修改state上的数据
1.定义组件
新建一个.jsx文件
import React from 'react'
export default class MyBtn extends React.Component{
constructor(){
super()
this.state={
msg:'123'
}
}
render(){
return <div>
<button onClick={()=>{this.myClick()}}>点击</button>
<p>{this.state.msg}</p>
</div>
}
}
2.定义方法
在class中追加
class MyBtn extends React.Component{
myClick(){
console.log('这是myClick方法')
this.setState({
msg:'321'
})
}
}
this.setState的注意事项:
- 只有this.setState()才能修改并将修改后的数据重新渲染到浏览器上
直接this.state.msg=‘321’,则只会修改创建的MyBtn实例对象中的数据,但不会渲染到浏览器上 - 写在this.setState()中的对象,会跟创建的实例的this.state中的属性进行对比,已存在的对其进行覆盖,没有的就进行创建
- this.setState()运行的过程是异步的,就是这个函数会跟函数下面的代码一起运行,想要在this.setState()运行完后进行操作,就必须加一个回调函数,this.setState({},function(){}),在函数里面进行操作
3.将组件渲染到页面中
import React from 'react'
import ReactDOM from 'react-dom'
import MyBtn from '.jsx文件的路径'
ReactDOM.render(
<div>
<MyBtn></MyBtn>
</div>
,document.getElementById('app')
)
|你知道的越多,不知道的越多。 |如果本文章内容有问题,请直接评论或者私信我。如果觉得写的还不错的话,点个赞也是对我的支持哦。 |未经允许,不得转载!|微信搜【程序员徐小白】,关注即可第一时间阅读最新文章。回复【面试题】有我准备的50道高频校招面试题,以及各种学习资料。

浙公网安备 33010602011771号