これは私の状況です。私はそうのように、データベースからいくつかのデータをロードするコンポーネントを持っている:私はcomponentWillMount
メソッドにこのコードを追加した場合状態を一度だけDBとストアからデータを読み込む
const task= fetch(`http://example.com`)
.then(result => result.json())
.then(result => {
this.setState({
items: result
})
});
addTask(task);
は今、それは、しかし、私はコンポーネントをロードするたびに作業を行い、この方法では起動します毎回データベースを呼び出す必要はありません。最初のロード時に一度呼び出され、状態に保存され、再度呼び出されることはありません。私はアイテムのリストをレンダリングしていますので、
そして、私は手動でnull
エラーを回避するために、コンストラクタでこのitems
変数を設定する必要があります。私は一度だけこのデータをロードすることができますどのように、
constructor() {
super();
this.state = {
items: [],
}
}
私の質問があるのと、それをitems
状態変数に設定します。私はコンポーネントの減速機(私はredux
を使用しています)にこのすべてのコードを追加しようとしましたが、動作しません。
問題は、コンポーネントがロードされるたびに、コンストラクタが起動し、 'items'を[]に設定することです。 – dsthetics
おっと、申し訳ありませんが、これはレフィックスを使う良い方法ではないと思います...レフィックスの状態にアクセスできますか? –