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});
}