const [users, setUsers] = useState([]);
setUsers([...users, { name: 'Alexandre'} ]);
console.log(users);这是我唯一想做的事。请帮帮我
发布于 2021-03-03 20:07:09
在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
One liner解决方案适用于单眼线爱好者
setUsers((prevStateOfUsers) => [...prevStateOfUsers, { name: 'Alexandre'} ]);发布于 2021-03-03 20:12:08
请尝试以下操作:
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。
发布于 2021-03-03 20:50:57
你能把页面的代码放进去吗?或者,您可以编写以下代码:
在函数中
import React, { useState } from 'react';
const Component = ({ setUsers }) => {
const [users, setUsers] = useState([]);
const addMember = (value) => {
setUsers([...users, {
name: value,
}]);
};
return (
your code...
);
};或者正如useEffect中的Artem Medianyk所指出的那样
import React, { useState, useEffect } from 'react';
const Component = () => {
const [users, setUsers] = useState([]);
useEffect(() => {
setUsers([...users, {
name: 'Alexandre',
}]);
}, []);
return (
your code...
);
};https://stackoverflow.com/questions/66456600
复制相似问题