怎么理解react的副作用,为什么ajax、修改dom是副作用?

怎么理解react的副作用,为什么ajax、修改dom是副作用?

阅读 12.6k
3 个回答
  • 首先解释纯函数(Pure function):给一个 function 相同的参数,永远会返回相同的值,并且没有副作用;这个概念拿到 React 中,就是给一个 Pure component 相同的 props, 永远渲染出相同的视图,并且没有其他的副作用;纯组件的好处是,容易监测数据变化、容易测试、提高渲染性能等;
  • 副作用(Side Effect)是指一个 function 做了和本身运算返回值无关的事,比如:修改了全局变量、修改了传入的参数、甚至是 console.log(),所以 ajax 操作,修改 dom 都是算作副作用的;
新手上路,请多包涵

满足纯函数的两个条件:
1.函数返回结果只依赖它的参数。
2.函数执行过程中不会对外产生可观察的变化。

百度“纯函数”

推荐问题
宣传栏