2016-12-25 72 views
0

我的字面意思是从材质用户界面(http://www.material-ui.com/#/components/raised-button)逐字复制了代码,用于引发按钮。我已经安装了所有必需的节点模块。发生什么事?材质用户界面引发的按钮不起作用

附加图像下方的错误。基本上它说“TypeError:无法读取属性'prepareStyles'未定义”。

enter image description here

<RaisedButton label="Primary" primary={true} style={style} />

+0

你可以添加更多。像完整的错误堆栈和抛出错误的完整组件。 – DirtyRedz

+0

刚刚添加的图片 –

+0

请显示更多代码。 – DirtyRedz

回答

2

你需要 材料UI的MuiThemeProvider来包装你最上面的组件(或者至少一些父组件)成分:

https://jsfiddle.net/9017dsc2/1/

import React from 'react'; 
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'; 

class Example extends React.Component { 
    render() { 
    return (
     <div> 
     <RaisedButton label="A Raised Button" /> 
     </div> 
    ); 
    } 
} 

const App =() => (
    <MuiThemeProvider> 
    <Example /> 
    </MuiThemeProvider> 
); 
+0

很酷 - 这为我解决了它!我刚刚添加了“从材料-ui/styles/MuiThemeProvider”导入MuiThemeProvider;“它的工作。谢谢 –

+0

真棒,很高兴你得到它的工作!我编辑了我的答案,包括进口以改善其他人的答案。 –

0

看起来你style属性是不确定的。请看看的document page代码:

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

const style = { 
    margin: 12, 
}; 

const RaisedButtonExampleSimple =() => (
    <div> 
    <RaisedButton label="Default" style={style} /> 
    <RaisedButton label="Primary" primary={true} style={style} /> 
    <RaisedButton label="Secondary" secondary={true} style={style} /> 
    <RaisedButton label="Disabled" disabled={true} style={style} /> 
    <br /> 
    <br /> 
    <RaisedButton label="Full width" fullWidth={true} /> 
    </div> 
); 

export default RaisedButtonExampleSimple; 

有一个恒定的风格:

const style = { 
    margin: 12, 
};