2016-10-07 49 views

回答

2

我总是发现以下参考网站很有帮助。

http://reactcheatsheet.com/

通过生命周期事件过滤器,你可以看到的地方的setState将触发重新呈现。

__

更新:你现在的“杂项”

+0

怎么样,组件的“props”和“state”都没有改变,但父组件重新渲染,它是否也导致孩子重新渲染呢?可以通过'shouldComponentUpdate'防止吗? – notgiorgi

+1

如果父母重新呈现,那么它的所有孩子都会重新呈现。你可以使用'shouldComponentUpdate'作为机制来防止在任何组件上渲染(除了无状态的功能组件,因为它们没有生命周期钩子)。 – ctrlplusb

1

阵营组件进行重新渲染时setState()被调用或当props变化进行筛选。您还可以强制与forceUpdate()

https://facebook.github.io/react/docs/component-api.html#forceupdate

默认情况下,重新渲染当你的组件的状态道具改变,你 组件将重新呈现。但是,如果这些更改是隐含的(例如: 对象内部的数据更改而不更改对象本身) 或者render()方法依赖于某些其他数据,则可以指示 需要重新运行render的React )通过致电forceUpdate()

相关问题