Реагировать - текстовое поле во вложенном компоненте стрелки - невозможно вызвать состояние набора при изменении значения - PullRequest
0 голосов
/ 06 августа 2020

Я хочу вызвать родительский компонент, чтобы установить состояние.

При вводе ввода на внутреннем компоненте он теряет фокус.

Пример:

const X = () => {
  const Y = (props) => <textarea onChange={(e)=>{props._s(e.target.value)}}/>
  const [comments, setComments] = useState("");
  return (
    <div>
      <Y _s={setComments}/>
    </div>
  )
}

Есть ли проблема с объявлением компонента стрелочной функции в компоненте?

С уважением

1 Ответ

0 голосов
/ 06 августа 2020

Попробуйте объявить Y вне компонента, чтобы он не воссоздавался при каждом рендере

const Y = (props) => <textarea onChange={(e)=>{props._s(e.target.value)}}/>

const X = () => {  
  const [comments, setComments] = useState("");
  return (
    <div>
      <Y _s={setComments}/>
    </div>
  )
}
...