javascript - React Material-UI 纯 javascript

标签 javascript reactjs material-ui

我正在尝试让 Material-UI 在纯 javascript 中工作(没有 babel、模块、jsx 等)

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <meta charset="utf-8" />
      <title>Bridge Bridge.React.Examples</title>
      <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500">
      <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
      <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
      <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
      <script crossorigin src="https://unpkg.com/@material-ui/core/umd/material-ui.development.js"></script>
   </head>
   <body>
      <div id="main"></div>
      <script>
         ReactDOM.render(
          React.createElement(Button, {variant: 'contained', color: 'primary'}, 'Hello World'),
          document.getElementById('main')
         );
      </script>
   </body>
</html>

我有这个错误。你能帮忙吗?

'Button' is not defined

最佳答案

更新 对于 v3(最初编写此答案时),窗口变量是 'material-ui'。在 v4 中,此更改为 'MaterialUI'。答案已相应更新。


由于您在示例中没有使用 JSX,因此不需要 babel。您只需在通过 const {Button} = window['MaterialUI']; 使用之前定义 Button 即可。

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>Bridge Bridge.React.Examples</title>
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500">
    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <script crossorigin src="https://unpkg.com/@material-ui/core/umd/material-ui.development.js"></script>
</script>
</head>
<body>
<div id="main"></div>
<script>
    const {
        Button
    } = window['MaterialUI'];

    ReactDOM.render(
        React.createElement(Button, {variant: 'contained', color: 'primary'}, 'Hello World'),
        document.getElementById('main')
    );
</script>
</body>
</html>

关于javascript - React Material-UI 纯 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54636839/

相关文章:

javascript - Vue.js 中未定义的组件

javascript - 按钮上的 onmouseover 事件

javascript - 手动输入链接时的重定向,react-router props 的其他问题

css - Material-UI 菜单的自定义背景颜色

javascript - Material UI 模态不工作(React JS)

reactjs - 这是扩展 Material-UI 组件的正确方法(React/Typescript)

javascript - ReferenceError : window is not defined at object. <匿名> Node.js

javascript - 为现有值添加跨度

node.js - 找不到模块 babel-preset-es2015

reactjs - 更改滚动reactjs中的路线