Хуки в React Native: вызывать только хуки из функций React - PullRequest
0 голосов
/ 01 июня 2019

Существует этот раздел о React Hooks , который я не совсем понимаю, о чем он говорит:

Только Call Hooks из функций React

Не вызывать хуки из обычных функций JavaScript.Вместо этого вы можете:

✅ вызывать хуки из компонентов функции React.

✅ вызывать хуки из пользовательских хуков (о них мы узнаем на следующей странице).

Следуя этому правилу, вы гарантируете, что вся логика состояния в компоненте четко видна из его исходного кода.

Что означает вызывать хуки только из компонентов функции React и чем отличается функция Reactчем то, что я бы назвал обычным функциональным компонентом?

На мой взгляд, они одинаковы:

const App = () => {
    useEffect(() => //do stuff);

    return (
        // return some sort of stuff here
    )
}

Причина, по которой я спрашиваю, - это то, что у меня за крючки есть жалобы на то, какЯ использую useState здесь:

const checkPermissions = () => { //when I change this to 'usePermissions', it works fine
  const [locPermission, setLocPermission] = useState(null); // eslint error here
  //'React Hook "useState" is called in function "checkPermissions" which 
  //is neither a React function component or a custom React Hook function.'


  //Check for and set state for permissions here

  return locPermission;
};
...