从React代码

时间:2017-08-18 18:15:45

标签: javascript jquery reactjs

我有一个声明为:

的状态变量
    this.state = {
         userId: this.props.uid

    }

我们需要调整一个jquery命令,以便它可以从react函数中接收this.state.userId。有没有一般的方法来做到这一点?

1 个答案:

答案 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)。