React 函数组件

创建方式




React推出的Hooks API其中的useEffect可以解决其没有生命周期的问题

useEffect

使用规则


  • 1.[]里面是写的是被改变了的变量 如果变量值发生改变 那么就执行该函数
  • 2.如何模拟将死的生命周期 在useEffect中返回值 那么这个组件在结束时就会运行返回的函数

实例的一个简单的函数组件的代码

function App() {
    const [n,setN] = React.useState(0)
    return (
        <div className='App'>
            <p>{n}</p>
            <p>
                <buttton onClick = {()=> setN(n+1)}></buttton>
            </p>
        </div>
    )
}
export default App

简单的useState的实现

  • 1.setN会修改数据x而不是直接修改数据n 将n+1存入x
  • 2.set一定会触发<App/>会重新渲染
  • 3.在重新渲染的过程中 useState会从x那里读出最新的n值





小结

  • 1.每个函数组件对应一个React节点
  • 2.每个节点保存的各自的不同的state和index
  • 3.useState会读取state[index]
  • 4.index由useState出现的顺序决定
  • 5.setState会修改state并会触发更新(也就DOM diff 然后重新渲染 )


基于每个不同的React节点每次保存的state和index都不一样(因为每次重新渲染 都是执行函数组件按)的解决方法


https://codesandbox.io/s/flamboyant-elion-jvtl2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容