Effect 到底在做什么
React 的组件负责把当前状态描述成界面。Effect 做的是另一件事:当这次渲染提交后,让某个 React 之外的系统与最新状态保持同步。
如果没有外部系统,你很可能不需要 Effect。
所谓外部系统,可以是浏览器事件、网络连接、第三方小部件,也可以是一个不受 React 管理的计时器。它们的共同点是:React 无法只靠渲染结果控制它们。
Effect 不是组件生命周期的替代品。把它理解为与外部系统同步,很多难题会自然消失。
React 的组件负责把当前状态描述成界面。Effect 做的是另一件事:当这次渲染提交后,让某个 React 之外的系统与最新状态保持同步。
如果没有外部系统,你很可能不需要 Effect。
所谓外部系统,可以是浏览器事件、网络连接、第三方小部件,也可以是一个不受 React 管理的计时器。它们的共同点是:React 无法只靠渲染结果控制它们。
登录后可继续阅读全部内容,并访问文章对应的课后习题。
登录继续阅读React 的组件负责把当前状态描述成界面。Effect 做的是另一件事:当这次渲染提交后,让某个 React 之外的系统与最新状态保持同步。
如果没有外部系统,你很可能不需要 Effect。
所谓外部系统,可以是浏览器事件、网络连接、第三方小部件,也可以是一个不受 React 管理的计时器。它们的共同点是:React 无法只靠渲染结果控制它们。
登录后可继续阅读全部内容,并访问文章对应的课后习题。
登录继续阅读