Reactjs 是否有办法从外部将react组件重置为其原始状态

Reactjs 是否有办法从外部将react组件重置为其原始状态,reactjs,Reactjs,我目前正在使用通过npm安装的一些复杂的有状态React组件。例如,react引导表组件。它通过道具接受数据。但它保留了自己的许多状态,例如,当前选择了哪一行。我正在添加一个按钮,单击后我想清除所有选定的行信息。由于无法访问任何API,我想知道是否可以完全重置表组件 现在,我使用了一个包装器组件,它根据一个标志来呈现表。它看起来像: class wrapper extends React.component{ render(){ if(this.props.flag==true)

我目前正在使用通过npm安装的一些复杂的有状态React组件。例如,react引导表组件。它通过道具接受数据。但它保留了自己的许多状态,例如,当前选择了哪一行。我正在添加一个按钮,单击后我想清除所有选定的行信息。由于无法访问任何API,我想知道是否可以完全重置表组件

现在,我使用了一个包装器组件,它根据一个标志来呈现表。它看起来像:

class wrapper extends React.component{

  render(){
    if(this.props.flag==true) return <React-Table />;
    else return null;
      }
}
类包装器扩展React.component{
render(){
if(this.props.flag==true)返回;
否则返回null;
}
}
现在,通过切换标志,我可以强制重新呈现表组件的原始状态


我想知道是否有更直接的方法可以做到这一点?

在搜索
react boostrap表
API后,它找到了一个方法
reset
(请参阅):

调用reset清除当前表上的所有状态


更笼统地说,

React没有从外部重置组件的通用方法,如果需要,组件应提供该方法。父组件与子组件通信有两种方式,通过props,或者不经常使用ref直接调用子方法。重置是使用第二种方法

对于react引导表,可以调用reset()和cleanSelected()方法

this.refs.table.reset();  // this.refs.table is a ref for BootstrapTable