我正在尝试使用TypeScript将钩子实现到React(^ 16.6.0)应用程序中
import * as React, {useState} from 'react';
您知道此导入的正确语法是什么吗?
答案 0 :(得分:0)
import
支持一组有限的语法变体。
可以是:
import React, {useState} from 'react';
缺点是整个库都是导入的,因为React
是默认导出,不能摇晃。由于要使用JSX语法,需要存在React
导入,因此一种更有效的方法是:
import * as React from 'react';
import {useState} from 'react';
Hooks were introduced in pre-release React 16.7。 react
版本约束应为^16.7.0-alpha.0
,@types/react
应为^16.7.0
。
答案 1 :(得分:0)
我在useState
上遇到了相同的错误。看着它的类型def文件,由于某种原因,它缺少了useReducer
函数,尽管它在诸如"@types/react": "^16.8.18"
之类的其他钩子的注释中被提及。
使用npm i @types/react@latest
修复了升级到d = {'@index': '40', 'row': [{'column': [{'text': {'@fontName': 'Times New Roman', '@fontSize': '12.0', '@x': '85.10', '@y': '663.12', '@width': '250.01', '@height': '12.00', '#text': 'text 1'}}]}, {'column': [{'text': {'@fontName': 'Times New Roman', '@fontSize': '8.0', '@x': '121.10', '@y': '675.36', '@width': '348.98', '@height': '8.04', '#text': 'text 2'}}, {'text': {'@fontName': 'Times New Roman', '@fontSize': '12.0', '@x': '473.30', '@y': '676.92', '@width': '42.47', '@height': '12.00', '#text': 'text 3'}}]}, {'column': [{'text': {'@fontName': 'Times New Roman', '@fontSize': '12.0', '@x': '85.10', '@y': '690.72', '@width': '433.61', '@height': '12.00', '#text': 'text 4'}}]}]}
new_d = {**d, 'row':[c['text'] for b in d['row'] for c in b['column']]}
的问题。