2017-09-29 1 views
2

je un composant React dans lequel je fais une redirectionEnvoyer accessoires réagir le composant de redirect

return <Redirect to={{ 
     pathname: '/questions', 
     state: { open: true } 
     }}/>; 

J'ai besoin d'accéder à cet état dans la composante des questions, et je suis en train donc avec this.state.location.open qui renvoie undefined. Suis-je manquer une déclaration d'importation, ou suis-je complètement faux?

+0

Je pense que l'état de t Le composant est accessible lorsque le composant doit être monté. Dans ce cas, vous pourriez ne pas être en mesure d'accéder à l'état –

+0

, je pourrais avoir mal expliqué. Je dois passer un état du premier composant au composant vers lequel je redirige. Et non d'entre eux sont des composants de l'enfant les uns aux autres, mais deux voies différentes – Fripo

+0

ok, posté sur la réponse de ce que je sais, j'espère que cela aide –

Répondre

0

vous essayez d'envoyer des params (peut-être pas la meilleure solution)

return <Redirect to={{ 
     pathname: '/questions/data_to_send', 

     }}/>; 

Lors de la réception de la route des questions, vous pouvez essayer cela dans index.html (questions itinéraire)

{ 
     path: 'questions/:data_to_receive',<---- HERE 
     getComponent(nextState, cb) { 
     System.import('./containers/QuestionsComponent').then((m) => { 
      cb(null, m.default) 
     }) 
     } 
} 

et encore dans les questions de composants, les données peuvent être reçues comme accessoires dans QuestionsComponent que,

this.props.routeParams.data_to_send