2016-08-28 9 views

答えて

0

あなたは力を更新するルートを必要なとき、あなたはあなたのUpdateComponentでコールthis.props.rootUpdate()にアクセスできる子コンポーネントに

root.js

var Root = React.createClass({ 
    render: function() { 
    return (
     <UpdateComponent 
     rootUpdate={this.forceUpdate.bind(this)} 
     /> 
    ); 
    } 
}); 

this.forceUpdate()機能VIS小道具を渡すことができます。

0

forceUpdateは、悪化するシナリオであり、リアクション方法から逸脱しているため、避けるべきです。

通常は、forceUpdate()のすべての使用を避け、render.()のthis.propsおよびthis.stateからの読み取りのみを試みます。これにより、コンポーネントが「純粋」になり、アプリケーションがより簡単に効率的になります。

再レンダリングする要素のキーを変更すると機能します。状態を介して要素にキーの小道具を設定し、次に新しいキーを持つように設定状態を更新する場合。

<Element key={this.state.key} /> 

その後変更が発生したと私は、これはキーがオンに変化していることの要素を置換することに注意したいキー

this.setState({ key: Math.random() }); 

をリセットします。 forceUpdateを使用することは常に避けてください。常にこれを回避する方法があるからです。

関連する問題