Diciamo che ho uno Link
che mi invia a una pagina per aggiungere/modificare una voce di elenco.Come inviare un'azione quando si fa clic su Link quando si utilizza React-Router & Redux?
Come faccio a inviare un'azione Redux quando faccio clic sullo stesso Link
in modo da poter aggiornare prima il negozio Redux, prima di essere effettivamente reindirizzato a quella pagina.
Esempio: Faccio clic sul pulsante Modifica -> L'azione viene inviata -> Store aggiornato, {'state': 'edit-mode'}
-> Procedere al reindirizzamento.
O hai in mente un altro modo per realizzare ciò che sto cercando di fare?
Forse quando il componente è montato, eseguirò un'azione come stateToEdit
in base a determinate condizioni? Se è così, per favore mostrami la tua strada. Grazie
PS: Sto usando solo un componente per tutti aggiungere/modificare/eliminare. Così sto pensando a un modo per render basato sulla state
se la sua sulla edit-mode
o delete-mode
ecc
Invece di usare 'Link', è possibile utilizzare' browserHistory.push (path) 'con la funzione' onClick'. All'interno di questa funzione, invia la tua azione, quindi passa alla nuova posizione. – lux
Pensavo anche a qualcosa del genere ma non sono sicuro se questo sia il modo giusto per risolvere il problema. Immagino che userò questo metodo per ora. Se ci sono altri modi, allora mi piacerebbe sapere. Grazie –
Un modo più appropriato per risolvere questo problema potrebbe essere quello di introdurre "redux-thunk" che probabilmente contribuirebbe a organizzare il codice un po 'di più considerando che probabilmente si vuole eseguire questa azione "invia qualcosa, poi spostati su un'altra pagina" in vari luoghi .Dai un'occhiata alla risposta di Dan qui, sono sicuro che cambierà il modo in cui potresti affrontare il problema nel tuo contesto: http://stackoverflow.com/questions/35493352/can-i-dispatch-multiple- actions-without-redux-thunk-middleware/35642783 # 35642783 – lux