Kre*_*021 13 typescript reactjs typescript-typings react-hooks react-hook-form
我对 typecipt 很陌生,并试图制作一个基本的引脚输入页面。我的代码的沙箱链接。虽然它可以工作,但我在第 10 行的 onChange 函数中收到此错误:
类型“Dispatch<SetStateAction<any[]>>”不可分配给类型“(values?: string) => void”。参数“value”和“values”的类型不兼容。类型“string”不可分配给类型“SetStateAction<any[]>”.ts(2322)
我正在导入react-hook-pin-input,但找不到任何在 ts 中使用 onChange 的演示。请帮我重写 onChange ,使 valueE 成为正在输入的值。可以在这里找到react-hook-pin-input的源代码 - https://github.com/elevensky/react-hook-pin-input
Den*_*ash 14
请注意,它onChange
是类型(values?: string) => void
,并且您传递了setValueE
它是类型React.Dispatch<React.SetStateAction<string[]>>
,这意味着setValueE
接受string[]
并且您string
在写入时传递了类型onChange={setValueE}
。
它只对你错误地起作用,因为你valueE
用字符串初始化,然后将其更改为string
类型,为了使其按预期工作,请执行以下操作:
export default function App() {\n const [valueE, setValueE] = useState<string[]>([]);\n return (\n <div className="App">\n <h1>\xe9\xaa\x8c\xe8\xaf\x81\xe7\xa0\x81</h1>\n <PinInput\n fields={4}\n values={valueE}\n onChange={(string) => setValueE([...string])}\n />\n <div> {valueE} </div>\n </div>\n );\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n
归档时间: |
|
查看次数: |
36906 次 |
最近记录: |