2016-04-04 26 views
0

Reactのコンポーネントライフサイクルについて少し混乱します。私は、メモリリークを防ぐためにcomponentWillUnmount()に何を使用することができ、アクションを派遣し、その初期状態をロードするコンポーネントを考えてみましょうgetTodo()React/ReduxでAPIを使用する正しい方法

componentDidMount() { 
     var _this = this; 
     axios.get('/api/todo').then(function(response) { 
     _this.props.actions.getTodo(response.data); 
     }).catch(function(err) { 
     console.log(err); 
     }); 
    } 

アプリケーション全体の状態を更新しますか?これを行うことを選択した場合、この方法で別のページのページに戻ったときに状態を更新する方法はありますか?

また、ページとして必要な小道具を状態として保存し、代わりに状態を更新する方が良いですか?このアプローチの私の懸念は、アプリ全体の状態を更新するだけでなく、同じ小道具を必要とする可能性のある他のコンポーネントも同じ不要なプロセスを経なければならないことです。これは最初のアプローチを使用することで回避できます。

+0

HTTP役立つことを願っています「トップ」コンポーネントは(初期状態を取得することができますアクション)それはこのアクションをディスパッチすることができ、一度だけ

をマウントされますがあります:// Reduxのを.js.org/docs/advanced/AsyncActions.html –

答えて

1

コンポーネントでapi呼び出しをしないでください。 Reactは、インターフェースを「何も」提供しません。

アクションをディスパッチする必要があります。実際には、アクション作成者を使用することができます(redux-thunkまたはredux-api-middlewareをチェックしてください)。あなたの州のアプリは、あなたのインターフェースではなく、還元店によって保留されている必要があります。

あなたはおそらく、私はそれが

関連する問題