I have this error : Uncaught TypeError: Super expression must either be null or a function, not object

I have this error : Uncaught TypeError: Super expression must either be null or a function, not object

当我 运行 浏览器下面的代码说:

未捕获类型错误:超级表达式必须为 null 或函数,而不是未定义

未捕获类型错误:无法读取 属性 '__reactInternalInstance$uuzyb025gr28cqm0v65ka9k9' of null

我正在使用最新的 reactjs 和 material ui,我的 package.json 文件中有这个:

"react": "^15.3.1",
"react-dom": "^15.3.1",
"react-router": "^2.7.0" 
"material-ui": "^0.15.4"
...

密码是:

import React from 'react';
import {Drawer, MenuItem} from 'material-ui';
import {List, ListItem, MakeSelectable} from 'material-ui/List';
import Subheader from 'material-ui/Subheader';
import Avatar from 'material-ui/Avatar';

class Test extends React.Component {

    /**
     * Class constructor.
     */
    constructor() {
        super();
    }

    /**
     * Render the component.
     */
    render() {
        return (
            <div>
                <Drawer open={false} width="180px">
                    <MakeSelectable defaultValue={3}>
                    <Subheader>Selectable Contacts</Subheader>
                        <ListItem value={1} primaryText="Brendan Lim" leftAvatar={<Avatar src="/images/obenbasic.png" />}
                          nestedItems={[<ListItem value={2} primaryText="Grace Ng" leftAvatar={<Avatar src="/images/obenbasic.png" />} />,]}/>
                        <ListItem value={3} primaryText="Kerem Suer" leftAvatar={<Avatar src="/images/obenbasic.png" />}/>
                        <ListItem value={4} primaryText="Eric Hoffman" leftAvatar={<Avatar src="/images/obenbasic.png" />} />
                        <ListItem value={5} primaryText="Raquel Parrado" leftAvatar={<Avatar src="/images/obenbasic.png" />} />
                  </MakeSelectable>
               </Drawer>     
            </div>
        );
    }
}
export default Test;

有人可以帮我解决这个问题吗?

MakeSelectable 是高阶组件。它不能像组件一样使用。它以一个组件作为第一个参数。例如:

import React from 'react';
import {List, ListItem, MakeSelectable} from 'material-ui/List';

const SelectableList = MakeSelectable(List);

您可以查看 https://github.com/callemall/material-ui/blob/v0.15.4/docs/src/app/components/pages/components/List/ExampleSelectable.js 以获得完整的工作示例。

P.S MakeSelectable 在 master 分支上重命名为 makeSelectable 以更好地与 React 社区约定保持一致。