2017-03-22 1 views
2

je rends réagir le composant sur le serveur et quand aller à la route get message d'erreur:ReactDOMServer.renderToString est pas une fonction

enter image description here

const renderToString = ReactDOMServer.renderToString 
    const fac = React.createFactory(React.createClass({ 
    render: function() { 
     return (
     <Provider store={store}> 
      <StaticRouter location={location} context={routeContext}> 
      <App /> 
      </StaticRouter> 
     </Provider> 
    ) 
    }})) 

    const appHtml = renderToString(fac()) 
+1

Importez-vous/exigez 'renderToString' d'une manière ou d'une autre? –

+0

Oui, renderToString = ReactDOMServer.renderToString –

+0

Avez-vous quelque chose comme 'import ReactDOMServer de 'react-dom/server'.' sur les premières lignes de votre fichier .js? –

Répondre

4

Je vous suggère d'écrire comme ceci:

const ReactDOMServer = require('react-dom/server'); 
const appHtml = ReactDOMServer.renderToStaticMarkup (
    <Provider store={store}> 
     <StaticRouter location={location} context={routeContext}> 
     <App /> 
     </StaticRouter> 
    </Provider> 
); 

J'espère que cela vous aide.

+0

Merci !! Je cherchais cette fonctionnalité exacte. – Kate