React Native - неверный вызов ловушки. Хуки могут быть вызваны только внутри тела компонента функции - PullRequest
0 голосов
/ 14 января 2020

Это реализация кода на скриншоте. Я только что создал простое приложение, которое содержит одну кнопку и одно поле ввода, где я сохраняю введенный текст и печатаю в журнале на консоли после нажатия кнопки, но оно показывает по ошибке с **const [enterGoal, setGoalState] = useState('')**. Может кто-то взглянуть на это?

code implementation screenshot Error screenshot

Ответы [ 2 ]

0 голосов
/ 14 января 2020

вы используете хуки в компонентах класса. Крюки работают в функциональных компонентах

например

import React, { useState } from 'react';

function Example() {
  // Declare a new state variable, which we'll call "count"
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}

для дополнительной проверки документация

0 голосов
/ 14 января 2020

Проблема в том, что вы используете компонент класса, а хуки предназначены для использования в функциональных компонентах. Так вот и ошибка. Если вы используете класс, попробуйте использовать метод setState для обновления состояния, а также для определения состояний в конструкторе. как

constructor(props){
this.state={
nameOfPerson:'robert'
}
}

и внутри любой функции выполните this.setState({nameOfPerson:'wowo'}), чтобы изменить ее,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...