Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置状态后不重新提交_Javascript_Jquery_Reactjs - Fatal编程技术网

Javascript 设置状态后不重新提交

Javascript 设置状态后不重新提交,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我有一个简单的ReactJS应用程序,它加载用户列表并显示每个用户的记录 这是处理用户加载并在列表中显示用户的组件,而UserCard组件将可视化用户信息并允许编辑 export default class UserManager extends React.Component { constructor() { super(); this.state = { users:[] }; }; componentDidMount() { this.

我有一个简单的ReactJS应用程序,它加载用户列表并显示每个用户的记录

这是处理用户加载并在列表中显示用户的组件,而
UserCard
组件将可视化用户信息并允许编辑

export default class UserManager extends React.Component {
constructor() {
    super();

    this.state = {
        users:[]
    };
};

componentDidMount() {
    this.loadUsers();
};

loadUsers() {
    $.getJSON('/api/users').then((data) => {
        this.setState({ users: data.items });
    });
};

render() {
    return (
        <div className="animated fadeIn">
            <div className="row">
                <div className="col-sm-8 col-md-10">
                    <div id="userslist" className="userlist" >
                        {
                            this.state.users.map((user) => {
                                <UserCard user={user} />
                            })
                        }
                    </div>
                </div>
            </div>
        </div>
    )
}
导出默认类UserManager扩展React.Component{
构造函数(){
超级();
此.state={
用户:[]
};
};
componentDidMount(){
这是loadUsers();
};
loadUsers(){
$.getJSON('/api/users')。然后((数据)=>{
this.setState({users:data.items});
});
};
render(){
返回(
{
this.state.users.map((用户)=>{
})
}
)
}
}

我在componentDidMount上加载用户,api调用成功返回所有用户数据。但是,不会触发用户的渲染。列表将保持为空


我是不是遗漏了什么?是否必须再次手动触发渲染?

map
主体返回用户卡组件,如果不返回任何内容,则默认情况下,它将返回
未定义的

<div id="userslist" className="userlist" >
    {
        this.state.users.map((user) => {
            return  <UserCard user={user} />
        })
    }
</div>

将唯一的
分配给每个
用户卡

映射
主体返回用户卡组件,如果不返回任何内容,默认情况下,它将返回
未定义的

<div id="userslist" className="userlist" >
    {
        this.state.users.map((user) => {
            return  <UserCard user={user} />
        })
    }
</div>

将唯一的
分配给每个
用户卡

要添加到@Mayank answer,您可能不需要编写显式的返回语句,只需在map函数后使用
()
而不是
{}
,因为默认情况下它会自动返回其中的JSX

        <div id="userslist" className="userlist" >
                    {
                        this.state.users.map((user) => (
                            <UserCard user={user} />
                        ))
                    }
                </div>

{
this.state.users.map((用户)=>(
))
}

要添加到@Mayank answer中,您可能不需要编写显式的返回语句,只需在map函数后使用
()
而不是
{}
,因为默认情况下它会自动返回其中的JSX

        <div id="userslist" className="userlist" >
                    {
                        this.state.users.map((user) => (
                            <UserCard user={user} />
                        ))
                    }
                </div>

{
this.state.users.map((用户)=>(
))
}

No这解决了我的问题。谢谢你对这个问题的解释!不,这解决了我的问题。谢谢你对这个问题的解释!