Я новичок в React.
A. js
const obj ={
{name:objA, id:11111},
{name:objB, id:22222},
};
const [isRedirect, setIsRedirect] = useState(false);
xxxxxxx.....................
return(
obj.map((data) => (
<TableCell onClick = {setIsRedirect(true)}>
data.name
</TableCell>
{ isRedirect ?
<Redirect to={{
pathname:'/user-management',
state:{userID:data.id},
}} /> : "" }
)
)
управление пользователями. js
useEffect(() => {
const history = createHashHistory();
if (history.location.state && history.location.state.transaction)
{
let state = { ...history.location.state };
delete state.transaction;
history.replace({ ...history.location, state });
}
console.log(props.location.state.userID); // show 22222
}
После того, как я нажму кнопку objA table cell, код в user-management. js выполняется, но когда я console.log (props.location.state), он показывает идентификатор пользователя как 22222 вместо 11111. Кажется, что props.location.state в user -management всегда хранит последнее значение массива json obj. Как я могу изменить код? Буду признателен, если вы поможете. И извините за структуру кода.