Ошибка при использовании useState в официальном примере - PullRequest
0 голосов
/ 09 февраля 2019

Этот код пришел от здесь .

import React from 'react';
import useState from 'react'

let f = function() {

  const [count, setCount] = useState(0);

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

export default f;

Во-первых, эта строка с этой страницы ...

import React, { useState } from 'react';

... приводит к useState будучи нулевым, но я изменил эту строку.В любом случае, я получаю следующую ошибку ...

TypeError: react__WEBPACK_IMPORTED_MODULE_1___default(...) is not a function

Эта ошибка повторяется, если я изменяю код на этот ...

const [count, setCount] = [1, () => {}]

Так что я считаю, что useState - этоПроблема - это не функция.Возможно, мой пользовательский импорт не работает правильно.В таком случае, почему не работает официальный импорт?

Я использую React 16.8.1.В моем файле пакетов есть эти ...

"react-dom": "16.8.1",
"react": "16.8.1",

Я удалил локальную папку node_modules и запустил npm install --force -g.

Console.log на useState дает ...

enter image description here

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вам нужно перезапустить веб-сервер, чтобы перекомпилировать новую версию React.Doh.

0 голосов
/ 10 февраля 2019

useState - именованный экспорт.Вы не можете импортировать его как экспорт по умолчанию.

Измените эти две строки

import React from 'react';
import useState from 'react';

на

import React, { useState } from 'react';
...