Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获错误:元素类型无效:应为字符串_Javascript_Reactjs_Typescript_Material Ui - Fatal编程技术网

Javascript 未捕获错误:元素类型无效:应为字符串

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');

我已经从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');


    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更改为const
const MuiThemeProvider=require('material-ui/styles/MuiThemeProvider');const getMuiTheme=require('material-ui/styles/getMuiTheme')).default;
i get
React.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')
);