Ich hole eine Liste von Objekten aus einer Datenbank und neugierig, wie ich sie überlagern sollte, um state
mit Redux zu aktualisieren.Redux: Aktualisiere Zustand mit einer Liste
Ich habe meist die Egghead-Tutorial, aber das ging mit der Aktualisierung des Zustands mit einem Objekt zu einer Zeit.
Angenommen, ich beginne mit einer leeren Liste []
und ich mache einen fetch()
Aufruf an einen Server, der eine Liste von Objekten [Object1, Object2, Object3]
zurückgibt.
Ich kämpfe um den Datenfluss zu verstehen und theoretisch wie soll ich das tun.
erkannte ich den Code unten nicht funktioniert, aber ich versuche, zu empfehlen, wie ich diese Arbeit in der Hoffnung zu machen, ich versuche mir jemand es beenden helfen kann ..
Wie ich das Reduktions schreiben Sie das wird über die Ergebnisse von fetchServerData()
abbilden und todo
aufrufen und alles zum Zustandsobjekt hinzufügen?
const candidate = (state, action) => {
switch (action.type) {
case 'ADD_CANDIDATE':
return {
id: action.id,
first: action.first,
last: action.last,
title: action.title,
company: action.company,
sent_inmail_date: action.sent_inmail_date,
response: action.response
}
default:
return state
}
}
const mapOverObject = (listObject, action) => {
??
}
const store = createStore(mapOverObject)
const fetchServerData =() => {
const URL = 'http://localhost:5000/get_db'
return fetch(URL)
.then((response) => response.json())
.then((responseJson) => {
return responseJson
});
}
const TodoApp = (props) => {
return (
<div>
<button onClick = {() => fetchServerData() }> Get Server Data </button>
</div>
)
}
ReactDOM.render(
<Provider store={store} >
<TodoApp />
</Provider>,
document.getElementById('root')
)
Ich denke, dass Sie Ihren Anwendungsfall klären müssen, ist die Frage nicht klar. Sie können ein Array genauso behandeln wie ein Objekt. – MoeSattler
Ich bin mir sicher, es zu verstehen, aber ich denke, dass Sie eine Aktion versenden müssen, wenn Sie den 'responseJson' erhalten. Sie senden zum Beispiel "GET_CANDIDATES" mit dem Ergebnis (Sie können das gesamte Array senden), und Ihr Reducer muss nur den Laden damit aktualisieren. – flocks
Ja, das ist der Teil, den ich nicht verstehe. Wie übertrage ich das Array? Tue ich es im Reduzierstück? Oder übertrage ich das Array und führe jedes Objekt in den Reducer? –