除了this.setState
和this.forceUpdate
方法之外,还有其他方法或事件会触发组件从自身内部重新渲染吗?
我是从react-redux
的角度提出这个问题的,我称之为“ this.forceUpdate
”。我还读到React.js
不鼓励使用此方法。这就是为什么我感到好奇。我希望我不会被我的信息来源误解或误导。
答案 0 :(得分:1)
const mapStateToProps = state => {
return {
objects: state.objectIds.map(id => state.objects[id])
}
}
通过此方法进行连接时,
export default connect(
mapStateToProps,
mapDispatchToProps
)(TodoList)`
redux将提供新的道具,必须在“组件将接收新的道具”中捕获它,然后进一步调用render方法。
答案 1 :(得分:0)
您可以使用shouldComponentUpdate生命周期方法来实现:
shouldComponentUpdate(nextProps, nextState){
//Compare the nextProps and nextState with current props or state respectively if it matters,then :
//If returned true, the component will re-render if it's false there will
//be no change
return true;
}