为什么这个反应元素不渲染?

Why doesn't this react element render?

import React from 'react';
import {Alert} from 'react-bootstrap';


var App = React.createClass({
  render() {
    return React.createElement('Alert',{bsStyle: 'danger'},'this alert doesn\'t work');
  }
});

module.exports = App;

我在另一个组件的 dom 中渲染这个组件。它适用于非 bootstrap 元素,例如:

import React from 'react';
import {Alert} from 'react-bootstrap';
const element = React.createElement(
    'h1',
    {className: 'greeting'},
    'Hello, world!'
);


var App = React.createClass({
  render() {
    return element;
  }
});

module.exports = App;

React.createElement 在你的情况下必须接受对反应组件的引用,而不是它的名称(这永远不会起作用,因为它只适用于内置组件)。

所以应该是

React.createElement(Alert, ...

参考文献: