我有一個數據庫作爲json文件。在渲染過程中,我隨機選取幾個對象,並且在映射數據庫時想更新全局存儲,但在render()中調用dispatch導致大量錯誤,而我不知道如何進一步處理。在渲染過程中更新存儲
這裏是我有沒有錯誤:
render() {
const fakePayload = this.props.fakePayload;
const rngPayloadId = Math.floor(Math.random() * 4);
const payload = fakePayload.map(payload => {
if (payload.payloadId === rngPayloadId) {
return payload.drugsId.map(id => {
return <tr>
<td> {id}</td>
<td>{drugs[id].name}</td>
<td><input value={undefined} type="number" name="price" /></td>
<td><button >Send</button></td>
<td><button>X</button></td>
</tr>
})
}
})
return (
<tbody>{payload}</tbody>
)
什麼我希望做的是一樣的東西:
return payload.drugsId.map(id => {
this.props.dispatch(setId(randomNumber, id)
如果它的事項採取行動看起來是這樣的:
export const setId = (id, drugId) => ({
type: 'SET_ID',
renderedDrugs: {
id,
drugId
}
})
我需要學習/做什麼?
現在你似乎有一些靜態數據,但遲早會(可能)被實際的數據庫和/或服務器API調用所取代。有很多關於這個問題的答案,例如:https://stackoverflow.com/questions/39813984/how-to-fetch-data-through-api-in-redux(查看JSFiddle鏈接中的代碼接受答案)。它涉及大部分您需要考慮的概念。請注意,這是Redux中難度較大的事情之一,因此請花點時間瞭解它,嘗試並在問題發生時提出問題。祝你好運! – jonahe