Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在React js中重新呈现页面以获取其默认值_Reactjs_React Router - Fatal编程技术网

Reactjs 如何在React js中重新呈现页面以获取其默认值

Reactjs 如何在React js中重新呈现页面以获取其默认值,reactjs,react-router,Reactjs,React Router,我有一个包含很多组件的页面,比如TextFields和comboboxes。当点击一个按钮(假设Clean)时,我想刷新当前页面,以使用默认值设置每个组件,并将状态设置为初始状态。当我尝试window.location.reload()时,它会刷新整个页面,用户需要再次登录 我尝试了forceUpdate(),但它保留了页面的当前状态 我也试过,我是个新手,用下面的方式来推动历史,这可能是荒谬的 this.props.history.push("/"); this.props.history.p

我有一个包含很多组件的页面,比如
TextField
s和
combobox
es。当点击一个按钮(假设
Clean
)时,我想刷新当前页面,以使用默认值设置每个组件,并将
状态设置为
初始状态。当我尝试
window.location.reload()
时,它会刷新整个页面,用户需要再次登录

我尝试了
forceUpdate()
,但它保留了页面的当前状态

我也试过,我是个新手,用下面的方式来推动历史,这可能是荒谬的

this.props.history.push("/");
this.props.history.push("new-record");
但这不起作用。佩奇还是老样子


如何处理此问题?

尝试类似的状态重置方法:

const initialState = { name: 'React' }

class App extends Component {
  constructor() {
    super();
    this.state = initialState
  }

resetState=()=>{
this.setState(initialState)
}


  render() {
    return (
      <div>
        <Hello name={this.state.name} />
        <button
      onClick={this.resetState}>reset</button>
      </div>
    );
  }
}
const initialState={name:'React'}
类应用程序扩展组件{
构造函数(){
超级();
this.state=初始状态
}
重置状态=()=>{
this.setState(initialState)
}
render(){
返回(
重置
);
}
}

下面是一个代码示例:

存在具有defaultInputValue和currentValue的本地状态:

setDefault函数还原默认值:

setDefault = () => {
   this.setState({currentValue: this.state.defaultInputValue});
}

好的。但我需要将所有组件值设置为在本例中声明是否需要。在一段时间内,我将坚持采用更灵活的解决方案。如果这是唯一的办法,我就走这条。谢谢。是的,当您在容器组件上进行此重置时,所有子组件都将重新渲染。您可以为组件提供一个
道具,然后在您希望装载该组件的全新实例时更改
。这样,状态将重置为最初的状态。
setDefault = () => {
   this.setState({currentValue: this.state.defaultInputValue});
}