gpt4 book ai didi

reactjs - 与 TypeScript react ,prompt() 返回值

转载 作者:行者123 更新时间:2023-12-02 01:57:40 30 4
gpt4 key购买 nike

当我想要更新我的状态时,TypesScript 显示错误

TyepScript在getApiKey函数内的setapiKey(prompValue);中用红色下划线显示prompValue,错误为:

Argument of type 'string | null' is not assignable to parameter of type 'SetStateAction'.Type 'null' is not assignable to type 'SetStateAction'.ts(2345)

问题是什么,我该如何解决这个问题?

function App() {

const [apiKey, setapiKey] = useState('');

const getApiKey = () => {
const prompValue = prompt('Enter API Key');
setapiKey(prompValue);
}

return (
<div className="App">
<h1>App</h1>
<button onClick={getApiKey}>API</button>
<p>{apiKey}</p>
</div>
);
}

最佳答案

其实这就是typescript的强大之处。 提示返回字符串 |

您应该处理用户取消提示对话框的情况,以减少错误。

function App() {

const [apiKey, setapiKey] = useState('');

const getApiKey = () => {
const prompValue = prompt('Enter API Key');
if(prompValue === null) {
// do what ever you want when the user cancel the prompt
}
else {
setapiKey(prompValue);
}
}

return (
<div className="App">
<h1>App</h1>
<button onClick={getApiKey}>API</button>
<p>{apiKey}</p>
</div>
);
}

关于reactjs - 与 TypeScript react ,prompt() 返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69416799/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com