#reactjs #typescript
Вопрос:
Я хочу реализовать функцию модификации с помощью React и TypeScript. При нажатии кнопки редактирования подробные данные поступают из контейнера и передаются в реквизиты компонента. Однако, если вы продолжите и распечатаете его в журнале консоли, объект данных будет отображаться хорошо, но если вы попытаетесь перевести его в начальное значение состояния, произойдет такая неопределенная ошибка. Как я могу это исправить?
Или, если вы можете сказать мне, как задать начальное значение состояния, я был бы признателен. Во-первых, я ввел атрибут значения по умолчанию во входной пользовательский интерфейс, но проблема в состоянии.
interface UpdateRecruitProps {
onUpdateRecruit: (data: object) => void;
initData: InitRecruitData | undefined;
status: boolean;
error: string;
}
const UpdateRecruit: React.FC<UpdateRecruitProps> = ({ onUpdateRecruit, initData, status, error }) => {
console.log(initData);
const nameRef = useRef<HTMLInputElement>(null);
const [inputs, setInputs] = useState({
person: initData.other.personnel,
name: nameRef.current?.defaultValue,
… другое состояние и данные
<S.InputLine type="text"
name="person"
ref={personRef}
onChange={onChangeInput}
defaultValue={initData?.other.personnel}></S.InputLine>
Комментарии:
1. в строке
person: initData.other.personnel
, вероятно, должно бытьperson: initData?.other.personnel
, такinitData
как может быть не определено2. Да, я это знаю. Если вы сделаете это, вы получите сообщение об ошибке. Это может быть потому, что оно может быть неопределенным. Но я хочу, чтобы государство содержало это значение. Как это можно сделать?