J'essaye de faire un SPA multilingue avec React et de compter sur React-Router.Je ne peux pas faire de site Web multilingue en me basant sur React Router
Voici une version simplifiée du fichier d'entrée:
// define the routes for each language ..
const InnerRoutes = (
<Route>
<IndexRoute page="home" component={InnerPage}></IndexRoute>
<Route path="(:page)" component={InnerPage}></Route>
</Route>
);
// define the routes for all the languages, using InnerRoutes ..
const AllRoutes = (
<Router history={browserHistory}>
<Route path='/' component={App} language="bg">
{InnerRoutes}
<Route path="en" language="en">
{InnerRoutes}
</Route>
</Route>
</Router>
);
// and render our app ..
ReactDOM.render(
AllRoutes,
document.getElementById('app')
);
Alors, je le App
élément de haut niveau et la composante InnerPage
.
La question est:
- Lorsque le changement de navigation se produit -
InnerPage
mises à jour et (éventuellement) un nouveau rendu.
intérieur InnerPage
:
- J'ai accès à la page demandée via la propriété
page
. Je n'ai malheureusement pas accès à la propriétélanguage
.
Et voilà pourquoi InnerPage
ne peut pas extraire les données à partir d'un point final - il connaît le page
, mais pas le language
.
Eh bien, la chose est que, avec la configuration que je l'ai décrit - je le 'language' dans le composant' app', mais pas le 'InnerPage' un. Et à propos du paramètre 'page' - c'est l'inverse. Alors - comment puis-je avoir les deux - au moins dans le composant «InnerPage». ........... (Probablement la configuration des routes est erronée ...) –
Peut-être que je vous ai mal compris, mais n'est-ce pas ce que le prop de 'routes' résout?Vous obtenez le même tableau de routes correspondantes, y compris leurs propriétés ('page',' language') dans tous vos composants de route ('App',' InnerPage'). –
Je suis allé pour la propriété 'routes', après avoir vu votre commentaire, mais cela n'a pas fonctionné aussi. Même si je boucle les 'routes' et vérifie les choses - la langue est perdue. ...... J'ai ouvert un problème à ce sujet - https://github.com/ReactTraining/react-router/issues/4176. –