const [users, setUsers] = useState([]);
setUsers([...users, { name: 'Alexandre'} ]);
console.log(users);
这是我唯一想做的事情。请帮帮我
答案 0 :(得分:0)
setUsers
中传递一个函数。previous state
。previous state
创建一个新状态(数组)并从函数中返回它。const [users, setUsers] = useState([]);
setUsers((prevStateOfUsers) => {
const newStateOfUsers = [...prevStateOfUsers, { name: 'Alexandre'} ];
return newStateOfUsers;
});
console.log(users);
Link to official react js docs
oneliner 爱好者的一个班轮解决方案
setUsers((prevStateOfUsers) => [...prevStateOfUsers, { name: 'Alexandre'} ]);
答案 1 :(得分:0)
请试试这个:
import React, { useState, useEffect } from 'react';
function Example() {
const [users, setUsers] = useState([]);
useEffect(() => {
setUsers([...users, { name: 'Alexandre'} ]);
console.log(users);
}, []);
return (
<div>
something...
</div>
);
}
关键字是 useEffect。
答案 2 :(得分:0)
你能把页面的代码放上来吗?或者您可以编写此代码:
在函数中
import React, { useState } from 'react';
const Component = ({ setUsers }) => {
const [users, setUsers] = useState([]);
const addMember = (value) => {
setUsers([...users, {
name: value,
}]);
};
return (
your code...
);
};
或者按照Artem Medianyk在useEffect中的说明
import React, { useState, useEffect } from 'react';
const Component = () => {
const [users, setUsers] = useState([]);
useEffect(() => {
setUsers([...users, {
name: 'Alexandre',
}]);
}, []);
return (
your code...
);
};