Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript can';t将useState与typescript一起使用(找不到名称';useState';)_Javascript_Reactjs_Typescript_Ecmascript 6_React Hooks - Fatal编程技术网

Javascript can';t将useState与typescript一起使用(找不到名称';useState';)

Javascript can';t将useState与typescript一起使用(找不到名称';useState';),javascript,reactjs,typescript,ecmascript-6,react-hooks,Javascript,Reactjs,Typescript,Ecmascript 6,React Hooks,下面的代码有什么问题?使用useState时,我收到了typescript的警告 import * as React, { useState } from 'react' const useForm = (callback: any | undefined) => { const [inputs, setInputs] = useState({}) //error: Cannot find name 'useState'.ts(2304) const handleInputC

下面的代码有什么问题?使用useState时,我收到了typescript的警告

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

const useForm = (callback: any | undefined) => {
  const [inputs, setInputs] = useState({}) //error: Cannot find name 'useState'.ts(2304)


  const handleInputChange = event => {
    event.persist()
    setInputs(inputs => ({
      ...inputs,
      [event.target.name]: event.target.value,
    }))
  }

  return {
    handleInputChange,
    inputs,
  }
}

export default useForm

formHook.tsx

import React, { useState } from 'react';
import React, { Component } from 'react'
const { inputs, handleInputChange } = useForm;
这在
app.tsx

import React, { useState } from 'react';
import React, { Component } from 'react'
const { inputs, handleInputChange } = useForm;

formHook.tsx中试试这个

import React, { useState } from 'react';
import React, { Component } from 'react'
const { inputs, handleInputChange } = useForm;
这在
app.tsx

import React, { useState } from 'react';
import React, { Component } from 'react'
const { inputs, handleInputChange } = useForm;

您的导入语句无效

您可以将所有内容导入为
React
,如下所示:

import * as React from 'react';
以及从
React
对象访问
useState

 const [inputs, setInputs] = React.useState({})
或导入
React
作为默认值,仅部分导入其他名称:

import React, { useState } from 'react'
和前面一样使用
useState

const [inputs, setInputs] = useState({});

您的导入语句无效

您可以将所有内容导入为
React
,如下所示:

import * as React from 'react';
以及从
React
对象访问
useState

 const [inputs, setInputs] = React.useState({})
或导入
React
作为默认值,仅部分导入其他名称:

import React, { useState } from 'react'
和前面一样使用
useState

const [inputs, setInputs] = useState({});

您可以首先使用
React.useState
或将其作为单独导出导入。其次,还应指定事件对象,如更改事件或表单事件

import * as React from 'react'
import {useState} from 'react';
const useForm = (callback: () => void) => {
  const [inputs, setInputs] = useState({});


  const handleInputChange = (event:React.ChangeEvent<HTMLInputElement>) => {
    event.persist()
    setInputs(inputs => ({
      ...inputs,
      [event.target.name]: event.target.value,
    }))
  }

  return {
    handleInputChange,
    inputs,
  }
}

export default useForm
import*作为来自“React”的React
从“react”导入{useState};
const useForm=(回调:()=>void)=>{
const[inputs,setInputs]=useState({});
常量handleInputChange=(事件:React.ChangeEvent)=>{
event.persist()
设置输入(输入=>({
…输入,
[event.target.name]:event.target.value,
}))
}
返回{
handleInputChange,
投入,
}
}
导出默认useForm

您可以先使用
React.useState
或将其作为单独导出导入。其次,还应指定事件对象,如更改事件或表单事件

import * as React from 'react'
import {useState} from 'react';
const useForm = (callback: () => void) => {
  const [inputs, setInputs] = useState({});


  const handleInputChange = (event:React.ChangeEvent<HTMLInputElement>) => {
    event.persist()
    setInputs(inputs => ({
      ...inputs,
      [event.target.name]: event.target.value,
    }))
  }

  return {
    handleInputChange,
    inputs,
  }
}

export default useForm
import*作为来自“React”的React
从“react”导入{useState};
const useForm=(回调:()=>void)=>{
const[inputs,setInputs]=useState({});
常量handleInputChange=(事件:React.ChangeEvent)=>{
event.persist()
设置输入(输入=>({
…输入,
[event.target.name]:event.target.value,
}))
}
返回{
handleInputChange,
投入,
}
}
导出默认useForm

尝试过,但仍然向我抛出错误:`“react”:“16.4.1”`,hook仅在react
16.8
中引入。您的react版本尚不支持挂钩。您可能需要考虑升级。尝试但仍然抛出我的错误:“Read”:“16.4.1”,“钩子只引入了反应<代码> 16.8 < /代码>。您的react版本尚不支持挂钩。您可能需要考虑升级。不工作它是工作的,请将<代码> USEM()/代码> <代码> UpFase<代码>不起作用,请将<代码> USEM()/<代码> > <代码>