【问题标题】:Import hooks into React Typescript将钩子导入 React Typescript
【发布时间】:2018-11-21 14:29:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: reactjs react-hooks


    【解决方案1】:

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

    可以是:

    import React, {useState}  from 'react';
    

    缺点是整个库都被导入了,因为React 是默认导出,不能进行树形抖动。由于使用 JSX 语法需要 React import 的存在,所以更高效的方式是:

    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

    【讨论】:

    • 抱歉仍然无法正常工作,它给了我以下 'Module '"C:/web-client-ts/node_modules/@types/react/index"' 没有导出成员 'useState'。'
    • 应该是因为“@types/react”中的版本还没有更新。请npm i @types/react@latest再试一次
    【解决方案2】:

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

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

    【讨论】:

    • 仍然报错
    猜你喜欢
    • 2022-12-05
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 2019-11-07
    • 2020-11-17
    • 2019-11-18
    • 1970-01-01
    相关资源
    最近更新 更多