Ich implementiert eine gut funktionierende View-Schicht in React JS wo alles noch auf Dummy-Daten funktioniert.Globale Popup in Reagieren mit Router und Redux
Jetzt brauche ich ein modales Popup, das von vielen verschiedenen Komponenten ausgelöst werden kann. Laut this thread könnte dies mit Redux gut implementiert werden, also habe ich das versucht.
Nach meinem Router und das Lesen unzählige Dokumente zu ändern, die ich mit
const Root = ({store}) => (
<Provider store={store}>
<Router history={browserHistory}>
<Route path="/" component={...}/>
<Popup visible={store.getState().taskEditPopup.open}>
<...>
</Popup>
</Router>
</Provider>
)
ReactDOM.render(
<Root store={store}/>,
document.getElementById('react')
)
kam Wenn die Popup
ist ein Kind der Provider
, gibt es einen Fehler, und als Kind Router es in dem nicht angezeigt DOM.
Wohin also mit diesem globalen Modal? Gibt es einen Standardweg, um das zu lösen?
Haben Sie eine Top-Level-Komponente (d. H. "App")? Es könnte einfacher sein, es dort zu verschachteln als auf deinen Routen. Und dann können Sie es wie jede andere Komponente mit redux verbinden. – adrice727
@ adrice727 Nun, 'Root' ist meine aktuelle Top-Level-Komponente, ich werde ein anderes Level versuchen. Ich habe nie von 'connect' gehört, werde es nachschlagen. –
Ich habe ein kleines Beispiel in einer Antwort hinzugefügt. – adrice727