如果 render() 方法從 this.props 或者 this.state 之外的地方讀取數(shù)據(jù)探赫,你需要通過調(diào)用 forceUpdate() 告訴 React 什么時候需要再次運行 render()饰潜。
如果直接改變了 this.state逞频,也需要調(diào)用 forceUpdate()努释。
調(diào)用 forceUpdate() 將會導(dǎo)致 render() 方法在相應(yīng)的組件上被調(diào)用贝椿,并且子級組件也會調(diào)用自己的 render()渔期,但是如果標記改變了,那么 React 僅會更新 DOM唾琼。
通常情況下兄春,應(yīng)該盡量避免所有使用 forceUpdate() 的情況,在 render() 中僅從 this.props 和 this.state 中讀取數(shù)據(jù)锡溯。這會使應(yīng)用大大簡化赶舆,并且更加高效。