函数组件每次渲染都保持自己所有的数据

每一次渲染都有它自己的props和state

const State = () => {
    const [count, setCount] = useState(0);
    
    return (
        <div>
            <p>You clicked {count} times</p>
            <button onClick={() => setCount(count + 1)}>
                Click me
            </button>
        </div>)
}

每一次渲染都有自己的事件处理函数

const State = () => {
    const [count, setCount] = useState(0);
    const showCount = () => {
        setTimeout(() => {
            alert(count)
        }, 3000)
    }
    return (
        <div>
            <p>You clicked {count} times</p>
            <button onClick={() => setCount(count + 1)}>
                Click me
            </button>
            <button onClick={showCount}>
                show Count
            </button>
        </div>)
}

每次渲染时候都会有一个“新版本的”showCount函数,每一个版本的showCount都会记住自己的count

任意一次的渲染中,props和state始终保持不变。props和state在不同的渲染中相互独立。事件处理函数也是独立的,它们都属于特定的一次渲染。

每次渲染都有它的Effects

effects其实并没有两样, 每次渲染都会有自己的Effects

const State = () => {
    const [count, setCount] = useState(0);
    
    useEffect(() => {
        setTimeout(() => {
            console.log(`you cliced ${count} times`)
        }, 3000)
    })

    return (
        <div>
            <p>You clicked {count} times</p>
            <button onClick={() => setCount(count + 1)}>
            Click me
            </button>
        </div>)
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 8,482评论 1 33
  • 最近看了一本关于学习方法论的书,强调了记笔记和坚持的重要性。这几天也刚好在学习React,所以我打算每天坚持一篇R...
    gaoer1938阅读 1,712评论 0 5
  • 1、什么是react React.js 是一个帮助你构建页面 UI 的库。React.js 将帮助我们将界面分成了...
    谷子多阅读 2,566评论 1 13
  • 说在前面 关于 react 的总结过去半年就一直碎碎念着要搞起来,各(wo)种(tai)原(lan)因(le)。心...
    陈嘻嘻啊阅读 6,894评论 7 41
  • 人生明灭又反复,总有些时候欲言又止不知何以表述。 善良的人心中有太阳,也总想把自己变成一束光。然而人与人之间隔的何...
    船长Zoe阅读 94评论 0 1