我正在使用ReactNative + React Redux。
我的减速机:
const initialState = {
categories: []
}
case "FETCHING_SUCCESS":
return {
...state,
isAdding: false,
categories: [...state.categories, action.data]
}
我收到的数据是:
[
{id:1, name: 'name01', someId: 11},
{id:2, name: 'name02', someId: 22},
{id:3, name: 'name03', someId: 33}
]
如果我这样做:
case "FETCHING_SUCCESS":
return {
...state,
isAdding: false,
categories: action.data // <= Notice This
}
我得到的数据很好 - console.log(&#34; CATEGORIES:&#34;,this.props.caregories); :
但我想将收到的数据附加到现有数据中。所以,如果我这样做:
categories: [...state.categories, action.data]
我将一个数组放入一个数组中:
在进一步的API调用中,多个数组嵌套在主要数组中。
我该如何解决这个问题?我只想要主数组而不是嵌套在主数组中的数组。我可以map
并显示主数组中的数据。我不明白我应该如何附加数据。
非常感谢。
答案 0 :(得分:1)
我认为你打算做的是categories: [...state.categories, ...action.data]
。
答案 1 :(得分:1)
你的密码应该是:
import * as request from 'request';
export function inputWelcome(app: any) {
//I WANT SESSION ID HERE
console.log("app.conversation(): ", app.conversation());
console.log("app.AppRequest: ", app.AppRequest);
console.log("app.AppRequest.conversation: ", app.AppRequest.conversation);
console.log("app.AppRequest(): ", app.AppRequest());
console.log("app.AppRequest().conversation: ", app.AppRequest().conversation);
console.log("app.getUser().accessToken;: ", app.getUser().accessToken)
const accessToken = app.getUser().accessToken;
// MAKE USER ENTITY WITH THESE DATA:
// {
// "sessionId": "current conversation id here",
// "entities": [
// {
// "name": "option1",
// "entries": [
// {
// "value": "option1",
// "synonyms": [
// "first",
// "option one"
// ]
// }
// ]
// },
// {
// "name": "option2",
// "entries": [
// {
// "value": "option2",
// "synonyms": [
// "second one",
// "second option"
// ]
// }
// ]
// },
// {
// "name": "option3",
// "entries": [
// {
// "value": "option3",
// "synonyms": [
// "third one",
// "third option"
// ]
// }
// ]
// },
// {
// "name": "help",
// "entries": [
// {
// "value": "help",
// "synonyms": [
// "help",
// "need help",
// "ditn't get",
// "need support"
// ]
// }
// ]
// }
// ]
// }
//
// AND THEN ASK THE USER WITH SUGGESTION CHIPS
app.ask(app.buildRichResponse()
.addSimpleResponse({
speech: `Hi you can start with these things`,
displayText: `Hi you can start with these things`
})
.addSuggestions(['option1', 'option2', 'option3', 'Help'])
)
}
检查此代码段:)
case "FETCHING_SUCCESS":
let newCategories = [...state.categories, ...action.data];
return {
...state,
isAdding: false,
categories: newCategories
}