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