reactjs - 使用打字稿在上下文中确定状态类型
问题描述
在我计算 bmi 的项目中,我想将结果作为数组保存在一个状态中,并将它们保存在本地。
export type BmiContextState = {
weight: number | undefined;
height:number | undefined;
open:boolean|undefined;
alert:boolean|undefined;
results:resultState;
handleWeight(event: React.ChangeEvent<HTMLInputElement>): void;
handleHeight(event: React.ChangeEvent<HTMLInputElement>): void;
openModal(event: React.MouseEvent<HTMLButtonElement, MouseEvent>):void;
openAlert(event: React.MouseEvent<HTMLButtonElement, MouseEvent>):void;
calculate:(weight:number,height:number)=>number;
bmi:(bmi:number)=>string;
};
export interface resultState {
results:{
bmi:number,
bmiResult:string,
}
}
我定义了一个名为 resultstate 的类型,我希望我的对象在其中。我定义了这样的类型。
const contextDefaultValues: BmiContextState = {
weight: 0,
height: 0,
result: (0,"obesite")[],
open: false,
alert: false,
handleWeight() {},
handleHeight() {},
openModal() {},
openAlert() {},
calculate: (weight, height) => 0,
bmi: (bmi) => "",
};
结果部分给出了错误,我应该如何定义它?
解决方案
推荐阅读
- html - 在打印页面中,header 中的表格不重复
- drupal-7 - 如何通过drupal 7中的表单防止管理文件中的垃圾邮件?
- javascript - 我们如何在反应原生中从 onChangeText 上的标题 TextInput 过滤数据?
- java - 为什么虽然方法中使用了值,但局部变量仍然显示警告?
- hyperledger-fabric - 我们可以在使用 Hypeledger 开发的运行区块链网络中添加新节点吗?
- javascript - JS | 比较运算符逻辑
- visual-studio - 用于 DotNetCore 2 包的 Signalr 缺少所有 javascript
- sql - 如何根据复杂条件加入2个数据框
- php - 我如何在当前登录的用户帐户中插入图像名称?
- javascript - 如何使html表格的tbody垂直滚动