我有两个函数
let [selected, selectedIds] = React.useState<readonly string[]>([]);
- 此函数存储在数组中给定的id
const addSelectedIds = (id) => {
// Adding id with some calculation
selectedIds(id);
}
- 此函数用于检查给定id是否在数组中可用
checkSelectedIds = (id) => {
const isSelected = (id) => selectedIds.indexOf(id) !== -1;
// Which return false, but its already added from first method
// Here i need isSelected value as true because its already added from first method
}
这些函数是用一个onClick事件调用的,如下面的
<tr onClick={() => {addSelectedIds(id); checkSelectedIds(id)}} ></tr>
我需要在第二个方法checkSelectedIds((中的selectedIds数组,其中必须检查所选的id是否在数组中可用,但在checkSelectedId((中selectedId返回null所以这就是为什么在数组中得到空值
当"选择";数组更改并从那里运行?
useEffect(() => {
checkSelectedIds(id)
}, [selected]);
我认为在您的情况下,当您需要在第二个之前运行第一个时,函数是同时运行的