【发布时间】:2021-12-04 02:28:44
【问题描述】:
我在使用 Typescript 将 useState 挂钩从一个组件传递到另一个组件时遇到了一些困难
这是一个非常简单的代码,只有两个文件来显示这个问题:
作为示例入口点的 App 组件
import { useState } from 'react';
import './App.css';
import Header from './Components/Header';
type personType = {
name: String,
language: String
}
const initialPerson ={
name : 'james',
language: 'english'
}
function App() {
const [ person, setPerson] = useState<personType>(initialPerson);
return (
<div className="App">
<Header setPerson={setPerson} person={person}/>
</div>
);
}
export default App;
接收 useState 作为 props 的 Header 组件
import { personType } from "../../App"
const Header = ({person, setPerson}:{person: personType, setPerson:any}) => {
const handleTranslate = () => {
setPerson({name:'john', language:'french'})
}
return(
<div>
<h1>TYPESCRIPT TEST</h1>
<button onClick={handleTranslate}>clickMe</button>
{person.name}
{person.language}
</div>
)
}
export default Header
现在我在重新定义 useState 函数“setPerson”时遇到了麻烦,我暂时将其留给 :any,因为我似乎无法在其中找到函数参数的正确语法。
我试过了:
setPerson:(personType)=> personType
返回类型很好,这是我找不到语法的参数...
【问题讨论】:
标签: reactjs typescript use-state