Javascript 清空通过RactJS/Axios(this.props)填充的表

Javascript 清空通过RactJS/Axios(this.props)填充的表,javascript,reactjs,axios,Javascript,Reactjs,Axios,我通过Axios->Reducer获取数据,然后用React Redux(@connect)将其包装并发送到道具中: this.props.dispatch(fetchContacts(this.state.searchParam)); 然后让ReactJS呈现表格 如果用户按ESC键,我想重置所有筛选器并清空表。 我是ReactJS的新手,所以我还不知道所有的规则,但似乎你不应该自己触摸DOM来避免问题 我的尝试看起来像: let tbody = document.getElementByI

我通过Axios->Reducer获取数据,然后用React 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未捕获(承诺中)类型错误:无法执行 “节点”上的“removeChild”:参数1不是“节点”类型。 远程儿童

我如何告诉reactJS清空表,或者至少告诉它表已经空了

或者我想我该怎么做,重置道具?
在react中更改道具似乎不是那么简单。

当用户按下esc键时,所有其他方法都会从操作中删除接触。将一些动作类型“REMOVE_CONTACTS”返回到reducer,并在reducer中清空state属性。这会将空对象返回到调用MapStateTops的容器中。这将重新加载没有数据的表。

当用户按esc键时,调用另一个方法removeContacts from actions。将一些动作类型“REMOVE_CONTACTS”返回到reducer,并在reducer中清空state属性。这会将空对象返回到调用MapStateTops的容器中。这将在没有数据的情况下重新启动表格。是的,这是有效的,本可以考虑的。。。谢谢你welcome@Trinu如果你能把它作为答案贴出来,这样它就可以“关闭”了