2017-06-16 5 views
0

Ich benutze die renderRoutes() Funktion von react-router-config in meiner isomorphen React App. Ich habe eine Situation, in der es viele Endpunkte für die gleiche Komponente gibt. Jedes Mal, wenn der Benutzer zu einem neuen Endpunkt navigiert, muss ich Daten für diesen Endpunkt abrufen und für die Komponente rendern. Normalerweise würde ich dies über componentWillReceiveProps() tun und dann eine AJAX-Anfrage basierend auf der neuen URL auslösen. Jedes Mal, wenn ich zu einem anderen Endpunkt navigiere, wird die Komponente jedoch abgehängt und erneut bereitgestellt. Gibt es eine Möglichkeit zu verhindern, dass die Komponente unmounted wird und nur ihre Eigenschaften aktualisiert werden?Reagiere Router 4 react-router-config verhindere, dass Komponenten unmounten werden

export const routes = [ 
{ 
    component: SectionFront, 
    path: '/' , 
    exact: true, 
    loadData: (match) =>{  
    return loadSectionFront(match.path) 
    }, 
    },{ 
    component: SectionFront, 
    path: '/investing' , 
    exact: false, 
    loadData: (match) =>{ 
    return loadSectionFront(match.path) 
    } 
}, 
{ 
    component: SectionFront, 
    path: '/news/companies' , 
    exact: false, 
    loadData: (match) =>{ 
    return loadSectionFront(match.path) 
    } 
}] 

ReactDOM.render(
    <Provider store={store}> 
     <BrowserRouter> 
      <CoreLayout> 
      {renderRoutes(routes)} 
      </CoreLayout> 
     </BrowserRouter> 
    </Provider>, 
    mountNode 
); 

Antwort

0

Sieht aus wie das Problem mit react-router-config selbst zusammenhängt. Laut dem Quellcode seiner renderRoutes routine wird es immer nur eine Route wegen Switch Komponente Wrapping übergeben Routen.

Ich denke, dass Sie mit Ihrer eigenen Lösung für create-routes-from-config Ansatz kommen müssen.

Verwandte Themen