Импортировать хуки в React Typescript

Я пытаюсь реализовать хуки в приложении React (^ 16.6.0) с помощью TypeScript

import * as React, {useState}  from 'react';

Есть идеи, каков правильный синтаксис для этого импорта?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
7
0
5 360
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

import поддерживает ограниченный набор вариантов синтаксиса.

Это может быть:

import React, {useState}  from 'react';

Обратной стороной является то, что импортируется вся библиотека, потому что React экспортируется по умолчанию и не может быть изменен. Поскольку для использования синтаксиса JSX необходимо наличие импорта React, более эффективным способом является:

import * as React from 'react';
import {useState}  from 'react';

Хуки были введены в предварительную версию React 16.7.. Ограничение версии react должно быть ^16.7.0-alpha.0, @types/react должно быть ^16.7.0.

Извините, все еще не работает, он дает мне следующий «Модуль» «C: / web-client-ts / node_modules / @ types / response / index» 'не имеет экспортированного члена «useState».

Alexandru Popa 21.11.2018 16:15

Это должно быть из-за того, что версия в "@ types / response" еще не обновлена. Пожалуйста, npm i @types/react@latest и попробуйте еще раз

Damitha 28.05.2021 05:02

У меня такая же ошибка была на "@types/react": "^16.8.17". Глядя на файл type def, по какой-то причине в нем отсутствовала функция useState, хотя она упоминалась в комментариях к другим хукам, таким как useReducer.

Обновление до "@types/react": "^16.8.18" с npm i @types/react@latest исправило это.

все еще дает ошибку

Ali Yar Khan 26.11.2021 11:33

Другие вопросы по теме