Tengo un archivo server.js que debería obtener algunos datos del servidor y guardarlos en un objeto llamado customP. Para hacer las cosas más fáciles por ahora, estoy jugando tratando de pasar una cadena constante junto con RouterContext renderProps:
servidor.js
markup = renderToString(<RouterContext {...renderProps} createElement={(Component, props) => {return <Component customP={"boaz"} {...props} />;}} />); return res.render('index', {markup});index.ejs
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>vetevo dashboard</title> <link rel="stylesheet" href="/css/style.css"> </head> <body> <div id="main"><%- markup -%></div> <script src="/js/bundle.js"></script> </body> </html>rutas.js
const routes = ( <Route path="/dashboard" component={Layout}> <IndexRoute foo="bar" component={DashboardPage}/> <Route path="*" component={NotFoundPage}/> </Route> );Y finalmente la parte más importante: DashboardPage Component
constructor(props) { super(props); console.log(props.customP); } render() { //console.log(this.props); return ( <div className="dashboard"> <h2>This is the component: {this.props.customP}</h2> <h1>SA</h1> </div> ); }Lo raro es que el accesorio customP se muestra durante un milisegundo y luego desaparece. No solo eso: obtengo en console.log en la función constructora el valor correcto. Creo que eso lleva a la conclusión de que está ocurriendo otro renderizado o que el renderizado es aplastante. No puedo encontrar el motivo, pero el componenteDidMount() tampoco responde.
Actualizar
console.log funciona para componentDidMount() pero los accesorios y el estado no están definidos allí, mientras que en el constructor de console.log aparecen exactamente como deberían...
Cualquier ayuda sería apreciada.