gpt4 book ai didi

javascript - 如何将状态中的值作为参数传递给函数?

转载 作者:行者123 更新时间:2023-12-01 01:21:20 24 4
gpt4 key购买 nike

我一直在试图弄清楚如何将值从状态(personId)传递到函数(fetchPersonInfo)作为参数,但我尝试过的任何方法都还没有起作用。所以我想来请你帮忙。

class Page extends Component {

state = {
personId: '',
}

componentDidUpdate = () => {
if(this.props.results.length > 0 && this.state.personId !== this.props.results[0].results[0].id){
if(this.props.results[0].results[0].media_type === 'person'){
this.setState({personId: this.props.results[0].results[0].id});
this.personInfo(personId);
}
}
}

personInfo = (personId) => {
if(this.state.personId.length > 0){
this.props.fetchPersonInfo(personId);
}
}
}

最佳答案

React setState 是异步的,您无法像现在一样以同步方式调用 personInfo()

this.setState({personId: this.props.results[0].results[0].id});
this.personInfo(personId);

假设其余代码没问题,将上面的代码更改为

this.setState({personId: this.props.results[0].results[0].id}, this.personInfo);

并从函数中删除 personId 参数

personInfo = () => {
if(this.state.personId){
this.props.fetchPersonInfo(this.state.personId);
}
}

关于javascript - 如何将状态中的值作为参数传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54204442/

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