Javascript 未捕获错误:元素类型无效:应为字符串
我已经从React的文档中尝试过了,效果很好 我想使用材质ui制作一个按钮。 这个代码有什么问题Javascript 未捕获错误:元素类型无效:应为字符串,javascript,reactjs,typescript,material-ui,Javascript,Reactjs,Typescript,Material Ui,我已经从React的文档中尝试过了,效果很好 我想使用材质ui制作一个按钮。 这个代码有什么问题 import * as React from "react"; import * as ReactDOM from "react-dom"; import {Router, Route, IndexRoute} from "react-router"; const FlatButton = require('material-ui/FlatButton');
import * as React from "react";
import * as ReactDOM from "react-dom";
import {Router, Route, IndexRoute} from "react-router";
const FlatButton = require('material-ui/FlatButton');
function Test(props){
return(
<div className="test">
aaa
<FlatButton label="Default" />
</div>
);
}
ReactDOM.render(
<Test
/>
, document.getElementById('root')
);
如果您使用
材质ui
组件,那么您需要导入MuiThemeProvider,从材质ui
获取muitheme
,并通过
MuiThemeProvider
,试试这个,它会工作的:
import React from "react";
import ReactDOM from "react-dom";
import {Router, Route, IndexRoute} from "react-router";
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import getMuiTheme from 'material-ui/styles/getMuiTheme';
const getMuiTheme = getMuiTheme({});
import FlatButton from 'material-ui';
const App = (props) => {
return (
<FlatButton label='default' />
);
}
ReactDOM.render(
<MuiThemeProvider muiTheme={getMuiTheme}>
<App />
</MuiThemeProvider>,
document.getElementById('container')
);
从“React”导入React;
从“react dom”导入react dom;
从“react Router”导入{Router,Route,IndexRoute};
从“材质ui/styles/MuiThemeProvider”导入MuiThemeProvider;
从“材质ui/styles/GetMuiteme”导入GetMuiteme;
常量getMuiTheme=getMuiTheme({});
从“物料界面”导入扁平按钮;
常量应用=(道具)=>{
返回(
);
}
ReactDOM.render(
尝试从“材质ui/FlatButton”导入FlatButton
或const FlatButton=require('material-ui/FlatButton')。默认值
如果我只是复制/粘贴,我会得到错误TS1141:需要字符串文字。
第行导入{RaisedButton,muitemprovider,getmuiteme,FlatButton}从
material ui;
如果我这样做,我会得到很多错误:找不到,但是如果我像这样将import更改为constconst MuiThemeProvider=require('material-ui/styles/MuiThemeProvider');const getMuiTheme=require('material-ui/styles/getMuiTheme')).default;
i getReact.createElement:类型不应为null、未定义、布尔值或数字。它应为字符串(对于DOM元素)或ReactClass(对于复合组件)
和不变量。js:39未捕获错误:_registerComponent(…):目标容器不是DOM元素。
原因是您使用了id='root',我使用了id='container',只使用您在html页面中定义的id。我已经看到了。仍然不工作。它仍然在chrome控制台中给我上一条评论中的相同错误。您使用了正确的id吗??
import React from "react";
import ReactDOM from "react-dom";
import {Router, Route, IndexRoute} from "react-router";
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import getMuiTheme from 'material-ui/styles/getMuiTheme';
const getMuiTheme = getMuiTheme({});
import FlatButton from 'material-ui';
const App = (props) => {
return (
<FlatButton label='default' />
);
}
ReactDOM.render(
<MuiThemeProvider muiTheme={getMuiTheme}>
<App />
</MuiThemeProvider>,
document.getElementById('container')
);