我取经由Axios-数据>减速然后用阵营-终极版(@connect)把它包装和分派成道具:空,将其通过RactJS/Axios公司填充的表(this.props)
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”返回给reducer,并在reducer中仅清空state属性。这会将空对象返回到您调用mapStateToProps的容器。这将重新渲染没有数据的表格。 – Trinu
是的工作,可以想到这个...谢谢 – Tiega
不客气 – Trinu