我正在尝试实现一个onClick()
函数,当用户单击“提交”按钮时,该函数将保存信息并将用户带到另一个页面。我尝试了几种方法都没有成功。
import { Redirect } from 'react-router-dom'
<Button onClick={() =>
saveUserData(this.props.selectedElement) // the promise is resolving
.then(<Redirect to='/other_url' />)
}>
Submit
</Button>
我也尝试过:
.then(() = > {<Redirect to='/other_url' />})
答案 0 :(得分:1)
从https://reacttraining.com/react-router/web/api/Redirect起,您需要渲染 <Redirect />
导航到新位置
我会做这样的事情:
state = {
redirect: false
}
handleClick = () => {
saveUserData(this.props.selectedElement)
.then(() => this.setState({ redirect: true }));
}
render () {
const { redirect } = this.state;
if (redirect) {
return <Redirect to='/other_url' />;
}
return (
...
<Button onClick={this.handleClick}>
Submit
</Button>
...
)
}