簡體   English   中英

如何將材料ui添加到gatsby網站生成器

[英]How to add material ui to gatsby site generator

我嘗試設置Gatsby工具包並深入反應這個網站生成器和材料ui框架。 我弄亂了什么? 我有錯誤

 Cannot read property 'prepareStyles' of undefined
    at RaisedButton.render 

我用npm安裝了材料ui

npm install material-ui

將組件添加到我的post index.js和MyAwesomeReactComponent.js之后

import React from 'react';
import ReactDOM from 'react-dom';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import MyAwesomeReactComponent from './MyAwesomeReactComponent';

const MaterialUiWrapper = () => (
  <MuiThemeProvider>
    <MyAwesomeReactComponent />
  </MuiThemeProvider>
);

export default MaterialUiWrapper


exports.data = {
  title: "Material UI ",
  date: "2017-12-09T12:40:32.169Z",
}

MyAwesomeReactComponent.js

import React from 'react';
import RaisedButton from 'material-ui/RaisedButton';

const MyAwesomeReactComponent = () => (
  <RaisedButton label="Default" />
);

export default MyAwesomeReactComponent;

您忘記添加此default theme ,添加此行將起作用:

import getMuiTheme from 'material-ui/styles/getMuiTheme';

然后添加這個MuiTheme

const MaterialUiWrapper = () => (
  <MuiThemeProvider muiTheme={getMuiTheme()}>
    <MyAwesomeReactComponent />
  </MuiThemeProvider>
)

這個問題很老,但是對於任何尋找答案的人來說, 材料 - ui repo現在都有一個例子 它使用一個名為“withRoot”的高階組件來包裝每個頁面。

還有一個gatsby material-ui插件,雖然它目前使用的是材料-ui v1-beta(不是最新的答案時)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM