我有一个声明为:
的状态变量 this.state = {
userId: this.props.uid
}
我们需要调整一个jquery命令,以便它可以从react函数中接收this.state.userId。有没有一般的方法来做到这一点?
答案 0 :(得分:0)
Simples:
<强>阵营强>
render() {
return (<div id="user" data-userId={this.state.userId}></div>);
}
<强>的jQuery 强>
$("#user").data('userId');
然后你需要做胜利舞蹈,因为原因。 (&lt; =非常重要)
根据我们的评论,通过AJAX获取用户数据并使用fetch进行反应
componentWillMount = async () => {
const response = await fetch(`users/${this.state.userId}`, {Authentication: `Bearer ${authToken}`, 'Content-Type': 'application/json'});
if (response.status ===200) {
//do better checks and stuff
try{
const user = await response.json();
this.setState({
user: user,
});
} catch(e){
console.error('error with your response: '+e.message);
}
} else {
console.error('response status was '+response.status);
}
}
我会做一些比这更强大的事情,但这是一般的想法。如果你之前从未使用过fetch,那么我建议你考虑一下这可能是一个正确的痛苦!
此外,如果你正在寻找一些,更有组织和'应用程序'我会考虑redux,redux saga,redux persist和redux形式。很棒的套餐!!但无论如何。故事的道德是:用火杀死jQuery并坚持反应(y)。