useEffect第二个参数如果传递的是引用类型,会浅比较还是深比较?

来源:14-4 用 useEffect 模拟组件生命周期

南宫冰雪

2021-03-02

const obj = {};
当obj变成obj = {
‘name’: ‘smf’
};
会触发useEffect的回调函数是吧?
那当obj = {
‘name’: {
‘age’: 123
}
};会触发useEffect的回调么?
Question:
第二个参数里面如果放引用类型是进行的浅比较还是深比较呀?

useEffect(() => {
//...
}, [ obj ]);
写回答

1回答

双越

2021-03-02

按 React 的设计风格,肯定是进行浅层比较。

另外,非常不建议第二个参数放引用类型,会增加代码复杂度。

0
0

2024版 前端框架及项目面试 聚焦Vue3/React/Webpack

面向1-3年前端的框架及项目面试“刚需内容”

4664 学习 · 1644 问题

查看课程