import React, { Component } from "react"; import PropTypes from "prop-types"; import Textarea from "react-textarea-autosize"; class InputSet extends Component { constructor(props) { super(props); this.state = {}; } static propTypes = { onChange: PropTypes.func, title: PropTypes.string, body: PropTypes.string }; componentDidMount() { this.title.focus(); } render() { const { onChange, title, body } = this.props; return ( {amp}lt;div{amp}gt; {amp}lt;TitleInput name="title" onChange={onChange} placeholder="Title" innerRef={ref ={amp}gt; (this.title = ref)} value={title} /{amp}gt; {amp}lt;StyledTextArea minRows={3} maxRows={20} placeholder="Please enter a note..." name="body" onChange={onChange} value={body} /{amp}gt; {amp}lt;/div{amp}gt; ); } } export default InputSet; 

Когда я нажимаю на компонент, эта ошибка внезапно возникает. И он говорит TypeError: Невозможно прочитать свойство ‘focus’ из неопределенного

Произошла ошибка в componentDidMount

Можете ли вы найти время, чтобы помочь мне исправить эту ошибку?

Я не могу понять, почему эта ошибка появляется

DaeHun

новый участник этого сайта. Будьте внимательны, спрашивая разъяснения, комментируя и отвечая. Проверьте наш

Правила поведения

,

Из того, что я вижу, title не является свойством класса вашего компонента InputSet .

Я полагаю, что вы намеревались использовать API React.createRef() для присоединения ref к вашему элементу React.

 this.title = React.createRef(); 

На вашем конструкторе,

 constructor(props) { super(props); this.state = {}; this.title = React.createRef(); } 

А потом,

 componentDidMount() { if (this.title.current) { this.title.current.focus(); } } 

Вы должны добавить .current вот так this.title.current.focus();

Надеюсь это поможет