gpt4 book ai didi

javascript - 通过链接传递状态

转载 作者:行者123 更新时间:2023-12-02 23:53:10 25 4
gpt4 key购买 nike

我对 react 还很陌生,想通过链接传递一个参数。我知道我可以通过国家来做到这一点,所以我做到了。

<td>
<Link to={{pathname:"user/"+id, state:{user_url:item.url} }} >{item.name}</Link>
</td>

这将重定向到我的 user_detail 组件,

export default class User_Details extends React.Component {

constructor(props){
super(props);
this.state = {
error : null,
isloading: true,
user_detail : null,
user_url : null

};
if (this.props.location.state){
this.state.user_url =this.props.location.state.user_url
}
}

用户可以通过重定向链接或仅通过 url 访问此 user_detail 组件,如果它通过重定向链接到达那里,那么我不必从中获取 user_url,因为它保存在状态中。但是,如果用户使用没有状态的链接,那么我首先必须获取该链接。

这有效,但是如果我使用重定向链接,我会不断收到警告错误:

index.js:1446 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method. in User (created by Context.Consumer)

我该如何解决这个问题?

最佳答案

你不能像这样操纵状态,我建议你像这样在 componentDidMount 中使用 setState

    componentDidMount() {
if (this.props.location.state){
this.setState({
user_url: this.props.location.state.user_url
});
}
}

关于javascript - 通过链接传递状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55551284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com