はその後反応させ、Reduxの(@connect)でそれをラップし、小道具にそれをディスパッチ:空のテーブル
this.props.dispatch(fetchContacts(this.state.searchParam));
そして、ReactJSがテーブルをレンダリングさせます。
ユーザーがESCを押すと、すべてのフィルタをリセットしてテーブルを空にしたいとします。 私はReactJSを初めて使っているので、まだすべてのルールを知っているわけではありませんが、問題を避けるために自分でDOMに触れてはいけないようです。
私の試みは、次のようになります。
let tbody = document.getElementById('contactList').getElementsByTagName('tbody')[0];
//Empty table
while (tbody.firstChild) {
tbody.removeChild(tbody.firstChild);
}
しかし、私はそのようにそれを行う場合、私は新しいデータセットをロードしようとすると、私は次のエラーが発生します。
test.js:6210 Uncaught (in promise) TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'. at removeChild
にはどうすればreactJSを伝えることができますテーブルを空にするか、少なくともそれが既に空であることを教えてください。
私は何をしなければならないと思うか、小道具をリセットしますか? 反応の小道具を変更するのは簡単ではないようです。
ユーザーがescキーを押したときに、別のメソッドremoveContactsをアクションから呼び出します。いくつかのアクションタイプ 'REMOVE_CONTACTS'をレデューサーに返し、レデューサーでは単に状態プロパティを空にします。これにより、空のオブジェクトがmapStateToPropsを呼び出すコンテナに戻ります。これにより、データなしでテーブルが再レンダリングされます。 – Trinu
うん、それは働いて、それについて考えている可能性があります...ありがとう – Tiega
あなたは歓迎です – Trinu