将钩子导入 React Typescript

Import hooks into React Typescript

我正在尝试使用 TypeScript 将挂钩实现到 React (^16.6.0) 应用程序中

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

知道这个导入的正确语法是什么吗?

import 支持一组有限的语法变体。

可以是:

import React, {useState}  from 'react';

缺点是整个库都是导入的,因为React是默认导出的,不能摇树。由于需要存在 React import 才能使用 JSX 语法,因此更有效的方法是:

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

Hooks were introduced in pre-release React 16.7react 版本约束应为 ^16.7.0-alpha.0@types/react 应为 ^16.7.0

我在 "@types/react": "^16.8.17" 上遇到了同样的错误。查看它的类型 def 文件,由于某些原因它缺少 useState 函数,尽管它在其他钩子的注释中提到,例如 useReducer.

升级到 "@types/react": "^16.8.18" npm i @types/react@latest 修复了它。