2016-02-10 17 views
7

Ho una semplice app CRUD che sto costruendo nel nodo e ho finito di creare l'altra API in Express. Ora sto cercando di aggiungere funzionalità di front end e desidero utilizzare react + redux come esercizio di apprendimento. Sembra tuttavia che tutte le esercitazioni di questo tipo accedano direttamente ai dati usando Redux, piuttosto che interfacciarsi con un'API interna.React + Redux con api di riposo?

La mia domanda è, è che il modo corretto di costruire una SPA con redux? Avevo l'impressione che fosse meglio separare il front-end dal back-end in modo che potessi, ad esempio, creare un'app per iPhone e non dover ricostruire il back-end.

Grazie in anticipo.

risposta

10

Lo stesso Redux non ha nulla a che fare con la comunicazione API, è la libreria per la gestione dello stato lato client. È possibile utilizzare qualsiasi approccio per le richieste di attivazione e gestione, il più comune è l'utilizzo di middleware di collegamento api personalizzato, restituzione di funzioni, richieste di attivazione, creatori di azioni e utilizzo con thunk-middleware o metodi alternativi come rx-bridges o sagas.

+0

Questo chiarisce le cose - grazie mille per la risposta e il middleware suggerito. – Dave

0

In primo luogo, si vedano gli esempi di documenti Redux, "Real World" è più utile: https://github.com/reactjs/redux/tree/master/examples/real-world

Quindi, è possibile la ricerca utils utili come Redux-promessa-middleware.

Infine, puoi provare a utilizzare alcuni utils complessi per connettere la tua app redux con API. redux-rest-adapter è uno di questi.

+1

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/18975041) – chrisz

+0

@chrisz Penso che questo tipo di risposta potrebbe essere un'eccezione. Mi ricorda la risposta più importante per [Come iniziare con Node.js] (https://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node-js#5511507) – BonsaiOak

+0

@GoodTrip considera la tua risposta come una wiki della comunità in modo che altri possano contribuire. – BonsaiOak