this.forceUpdate()

来源:14-4 提交数据

ss6WW

2017-07-03


http://szimg.mukewang.com/595a197e000143ef06890088.jpg

http://szimg.mukewang.com/595a19a60001e13a04730033.jpg

http://szimg.mukewang.com/595a197e0001c45806750031.jpg

http://szimg.mukewang.com/595a197f0001cdda05720157.jpg

http://szimg.mukewang.com/595a19ea00010bbc04700233.jpg


http://szimg.mukewang.com/595a1a090001e60d05860304.jpg


这个问题还是和之前问的  评论-星级(疑惑)相关。不加this.forceUpdate()   starClickCallback函数虽然导致了this.state.stars的变化,但不会解发页面的更新,点击星星时,虽然console.log(this.state.stars)有变化,但星星不会变红,需要在starClickCallback函数中加上this.forceUpdate() 函数,点击星星时,星星才会变红,这是什么原因呢?


写回答

1回答

双越

2017-07-03

forceUpdate 基本不常用

state 变化了,视图案例说就得跟着变,你确认一下是不是 state 和视图没有对应好?

0
1
ss6WW
视图是通过与state相对应的。 state 和视图没有对应 这句话不太能理解,因为没有改任何代码,只加了forceUpdate就能实现点击星星看到星星变红,如果不加forceUpdate虽然点击星星,state有变化,但星星不会变红,所以我觉得好怪异。
2017-07-04
共1条回复

React高级实战 打造大众点评Web App

已经对React Router4与Webpack2进行了项目升级

1711 学习 · 707 问题

查看课程