2017-01-11 7 views
1

Я получаю это предупреждение:Материал-интерфейс: Как правильно настроить UserAgent для серверной части рендеринга

Material-UI: userAgent should be supplied in the muiTheme 
    context for server-side rendering 

со следующей стороне сервера визуализации настройки, что я делаю неправильно:

match({routes: R(), location}, (error, redirectLocation, renderProps) => { 
    if (error) { 
     console.error("error: "+ error) 
    } else if (redirectLocation) { 
     console.error("redirect to " + redirectLocation) 
    } else if (renderProps) { 

     const theme = getMuiTheme({userAgent: "all"}) 

     page = ReactDOMServer.renderToStaticMarkup(
     <MuiThemeProvider muiTheme={theme}> 
      <Provider store={store}> 
       <RouterContext {...renderProps} /> 
      </Provider> 
     </MuiThemeProvider> 
     ) 
    } else { 
     console.error("location nof found: '"+ location +"'") 
    } 
    }) 
+1

Возможный дубликат http://stackoverflow.com/questions/35481084/react-starter-kit-and-material-ui-useragent-should-be-supplied-in-the-muitheme –

+1

У меня такой же точный проблема. Из документации material-ui кажется, что «все» пользовательский агент должен работать, но это не так. Кроме того, дважды проверьте, что ваша среда одинакова для сервера и клиента, как описано в их документации. http://www.material-ui.com/#/get-started/server-rendering – Chris

ответ

2

В этом Razzle Material UI Styled Example проекте я устанавливаю это так:

server.js:

renderToString(<Application userAgent={request.headers['user-agent']} />) 

client.js:

render(<Application userAgent={navigator.userAgent} />, document.getElementById('root')) 

Main.js:

class Main extends Component { 
    constructor(properties, context) { 
     super(properties, context) 

     this.muiTheme = getMuiTheme({ 
      userAgent: properties.userAgent 
     }) 
    } 

    render() { 
     return (
      <MuiThemeProvider muiTheme={this.muiTheme}></MuiThemeProvider> 
     ) 
    } 
} 

Он хорошо работает, и я думаю, что это правильно тоже.

 Смежные вопросы

  • Нет связанных вопросов^_^