使用 map 访问 React 中的对象
2022-02-18
26
尽管我已经说过它是一个数组,但我在访问对象内部的键/值时仍然遇到一些困难。 (.map 给了我错误)
使用 axios post 我在响应中有此类型
type response = {
data: [];
};
来自 API 的响应:
"data": {
"thisoneineed": false,
"response": [{
"ID": "1234",
}],
"message": "this is a test message",
}
在我的组件中,我从 redux 状态获取此信息(我在响应后将其保存在状态中)
当我尝试这个时:
Object.entries(state).map(([key, value]) => {
console.log(key);
})
它给了我数组内的所有键。
我需要做的是根据键值访问值,因此我这样做了:(在组件内部)
const insurance = useSelector(
(state: AppState) => state.session.data
);
Object.entries(insurance).map(([key, value]) => {
console.log(key[thisoneineed]);
})
这给出了:
TS2304: Cannot find name 'thisoneineed'.
我想知道如何访问成功键并获取值。
1个回答
您已将类型定义为
type response = {
data: [];
};
这意味着它是一个空数组,无论是作为 hack 尝试将其更改为
any
直到您找出响应的确切类型,然后为其指定正确的类型
EDIT::
您可以尝试这个
const insurance = useSelector(
(state: AppState) => state.session.data
) as any;
console.log(insurance.thisoneineed)
PS:我不会建议保留那里的任何内容,但直到您找出响应的确切类型,您可以保留它
Sumanth Madishetty
2022-02-18