跳到主内容

React使用数组自带的方法后,重新赋值后页面没刷新

· 2分钟阅读

问题

在 react 中使用数组自带的 pop 方法,重新 setState 后页面并没有更新,代码如下

Live Editor
Result
Loading...

仔细查看代码,调用 a.pop() 方法,a 数组已经移除了,但是没什么效果,可以点击删除按钮查看效果。

原因

虽然调用了 pop() 方法,也重新 setNavItems 了,但是 a 变量还是引用同一个地址,所以页面没有更新。不同于 vue 会自动刷新页面,类似的方法还有 splice()push()unshift()shift()reverse()sort() 等。

解决

创建一个新的引用,这样就可以解决问题了。

Live Editor
Result
Loading...