Я работаю над ReactJS модальным диалоговым окном и привязываю значения из среза redux через ловушку useSelector. В настоящее время у меня есть две функции, которые уже отправляются с помощью хука useDispatch и устанавливают реквизиты с помощью 2 функций (onCancelHandler, submitHandler). Здесь мне нужно сохранить еще одно поле, которое является строковым значением (userName), и я попытался сохранить это и использовать строковое значение authorizedUser в DeleteUserModalContent через реквизиты. Первоначально я могу получить значение из props в компоненте DeleteUserModalContent, но при выполнении submitHandler возникает следующая ошибка.
Не удается прочитать свойство userName, которое не определено
Ошибка при этом line: const loadedUser: string = selectedUser.userName;
Может ли кто-нибудь сказать мне, что здесь не так?
Заранее спасибо
Фрагмент кода:
import React from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { Modal } from '@material-ui/core';
import { AppState } from 'store/rootReducer';
import { hideModal } from 'store/common/modalSlice';
import { submitAction } from 'store/user-actions';
import { DeleteUserModalContent } from './DeleteUserModalContent';
export const DeleteUserModal: React.FC<{}> = () => {
const dispatch = useDispatch();
const selectedUser = useSelector((state: AppState) => {
const selectedUserId =
state.selectUserSlice.selectedUsers[0];
return state.userState[selectedUserId];
});
const onCancelHandler = () => {
dispatch(hideModal());
};
const submitHandler = () => {
dispatch(
submitAction(selectedUser.userName)
);
};
const approvedUser: string = selectedUser.userName;
console.log(selectedUser.userName);
const props = {
onResetHandler,
submitHandler,
approvedUser
};
return (
<Modal>
<>
<DeleteUserModalContent {...props} />
</>
</Modal>
);
};