【问题标题】:ReactJS not rendering php codeigniterReactJS 不渲染 php codeigniter
【发布时间】:2016-05-24 21:55:59
【问题描述】:

我目前正在使用材料 UI 库,它利用了 reactjs 和谷歌材料设计,可以在这里找到 http://www.material-ui.com/#/ 我已经尝试在他们的 github 页面上关注他们的一个示例,但没有成功。我现在尝试做一个简单的测试,看看它是否会按照这篇帖子React JS not rendering 进行渲染。但幸运的是,一切都没有改变,也不会渲染。

这是我的反应代码:

import React from 'libraries/react';
import RaisedButton from 'libraries/material-ui/lib/raised-button';
import ReactDOM from 'libraries/react-dom';

var HelloMessage = React.createClass({
    render: function () {
        return <h1>Hello {this.props.message}! </h1>;
    }
});

React.render(HelloMessage, message="World" , document.getElementById('body'));

这是我的 HTML:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Welcome to CodeIgniter</title>

    <style type="text/css">

        ::selection { background-color: #E13300; color: white; }
        ::-moz-selection { background-color: #E13300; color: white; }

        body {
            background-color: #fff;
            margin: 40px;
            font: 13px/20px normal Helvetica, Arial, sans-serif;
            color: #4F5155;
        }

        a {
            color: #003399;
            background-color: transparent;
            font-weight: normal;
        }

        h1 {
            color: #444;
            background-color: transparent;
            border-bottom: 1px solid #D0D0D0;
            font-size: 19px;
            font-weight: normal;
            margin: 0 0 14px 0;
            padding: 14px 15px 10px 15px;
        }

        code {
            font-family: Consolas, Monaco, Courier New, Courier, monospace;
            font-size: 12px;
            background-color: #f9f9f9;
            border: 1px solid #D0D0D0;
            color: #002166;
            display: block;
            margin: 14px 0 14px 0;
            padding: 12px 10px 12px 10px;
        }

        #body {
            margin: 0 15px 0 15px;
        }

        p.footer {
            text-align: right;
            font-size: 11px;
            border-top: 1px solid #D0D0D0;
            line-height: 32px;
            padding: 0 10px 0 10px;
            margin: 20px 0 0 0;
        }

        #container {
            margin: 10px;
            border: 1px solid #D0D0D0;
            box-shadow: 0 0 8px #D0D0D0;
        }
    </style>
</head>
<body>

<div id="container">
    <h1>Welcome to CodeIgniter!</h1>

    <div id="body">

    </div>

    <p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo  (ENVIRONMENT === 'development') ?  'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></p>
</div>
</body>
<script type="text/jsx" src="application/scripts/reactTest.js"></script>
</html>

【问题讨论】:

  • 试试ReactDOM.render(&lt;HelloMessage message="World" /&gt;, document.getElementById('body'))
  • @azium 我试过了,但是它确实可以渲染任何东西
  • 浏览器控制台没有错误?
  • @azium 我正在使用firebug,似乎没有,说我似乎无法在google chrome的源选项卡上找到脚本,也找不到firebug上的脚本选项卡跨度>

标签: javascript php html reactjs material-ui


【解决方案1】:

试试

React.render(<HelloMessage message="World"/>, document.body);

【讨论】:

  • 并使用 ReactDOM.render 而不是 React.render ?
  • 保持冷静,塞巴斯蒂安,老实说,我认为这是他问题的解决方案。我也进入了 AngularJS,我遇到了类似的问题。 React.render 为我解决了问题,不幸的是,Johnathon64 并非如此
  • @rmpt 我想知道我是否真的需要通过 webpack 运行它并将其作为脚本标签包含在我的 html 中?
  • 我不确定我是否收到了您的问题,但您需要在 html 页面中包含 fb.me/react-0.14.0.min.js 才能使用 ReactJS。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
  • 2019-11-30
  • 1970-01-01
  • 2019-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多