useSelector
, по-видимому, запускает предоставленную функцию в произвольное время, поэтому гарантированно не будет определено users
, когда вы захотите, из-за природы async
.
Пара способов, которыми вы можете справиться с этим:
Сначала определите значение по умолчанию для users
, например:
const { users = [] } = useSelector(state => ({
users: getUsers(state),
}));
Это должно решить вашу проблему.
Улучшение кода выше с использованием цикла for
не будет полагаться на цикл for
, вместо этого используйте .map
, как показано ниже:
users.map(user => { ... });