Reactjs 事件不是';在按下第二个按钮之前,不要正确点火

Reactjs 事件不是';在按下第二个按钮之前,不要正确点火,reactjs,events,react-hooks,Reactjs,Events,React Hooks,检查了所有相关问题,不幸的是找不到与我的问题类似的问题 我有一个映射到表中的用户对象数组。每个用户ID旁边都有一个delete按钮,当按下该按钮时,我会触发一个事件,将该用户从阵列中删除 我尝试过向按钮添加第二个onClick函数,首先声明用户对象是什么,然后启动删除,我还尝试过e.stopPropagation(),认为它可能没有正确冒泡 const UsersTable = ({ users, setUsers, callback }) => { const [selected

检查了所有相关问题,不幸的是找不到与我的问题类似的问题

我有一个映射到表中的用户对象数组。每个用户ID旁边都有一个delete按钮,当按下该按钮时,我会触发一个事件,将该用户从阵列中删除

我尝试过向按钮添加第二个onClick函数,首先声明用户对象是什么,然后启动删除,我还尝试过e.stopPropagation(),认为它可能没有正确冒泡

const UsersTable = ({ users, setUsers, callback }) => {
    const [selectedUser, setSelectedUser] = useState(null);
    const removeUser = user => {
        setSelectedUser(user)
        callback(user)
    };

    return (
        {
            users.map(user => 
                <div className="userRow">
                    <div className="deleteButton" onClick={()=> removeUser(user)}>
                        {user.name}
                    </div>
                </div>
            )
        }
    )
};
constuserstable=({users,setUsers,callback})=>{
常量[selectedUser,setSelectedUser]=useState(null);
const removeUser=用户=>{
设置选择器(用户)
回调(用户)
};
返回(
{
users.map(user=>
removeUser(用户)}>
{user.name}
)
}
)
};

如果我使用已定义的用户运行回调,它将正常工作。然而,当我第一次点击这个按钮时,它会给我一个错误,告诉我用户不能为null,第二次按下时,它会正常启动。我做错什么了吗?为什么它在第一次按下时不能正常工作。

我认为这可能是一个同步性问题。不要在
removeUser
中运行
callback
,而是尝试将其放入
useffect

向我们展示一个可生产的示例如何设置用户?回调代码是什么?这里没有足够的钱继续下去。