使用Play Framework实现React-Datagrid

时间:2016-05-19 16:18:32

标签: reactjs playframework sbt webjars

我正在尝试使用从WebJars导入的React-datagrid库在Play项目中呈现表格。然而,当我运行项目时,我遇到了这些问题:

  1. “警告:React无法找到数据重新绑定值.0.1.1的根组件节点。如果您看到此消息,则可能意味着您已加载了两个React副本这个页面。目前,一次只能加载一份React。“

  2. “未捕获的TypeError:无法读取未定义的属性'firstChild'”

  3. 以下是渲染表格的代码:

    var data = [
        {id: 0, index: 1, firstName: 'John', city: 'Toronto', email: '123@hotmail.com'}
    ];
    
    var columns = [
        { name: 'index', title: '#', width: 50 },
        { name: 'firstName' },
        { name: 'lastName'  },
        { name: 'city' },
        { name: 'email' }
    ];
    
    var App = React.createClass({
        render: function(){
            return <DataGrid
                idProperty='id'
                dataSource={data}
                columns={columns}
                style={{height: 500}}
            />
        }
    })
    
    ReactDOM.render(<App/>, document.getElementById("testTable"));
    

    这些是我在HTML文件中引用的脚本:

    <script type='text/javascript' src='@routes.WebJarAssets.at(WebJarAssets.fullPath("react", "dist/react.js"))'></script>
    <script type='text/javascript' src='@routes.WebJarAssets.at(WebJarAssets.fullPath("react-dom", "dist/react-dom.js"))'></script>
    <script type='text/javascript' src='@routes.WebJarAssets.at(WebJarAssets.fullPath("react-datagrid", "dist/react-datagrid.js"))'></script>
    

    这就是我在build.sbt中的内容:

    "org.webjars" %% "webjars-play" % "2.4.0-1",
    "org.webjars.npm" % "react-datagrid" % "2.0.1",
    "org.webjars.bower" % "react-d3" % "0.2.2"
    

    以下是我正在遵循的datagrid示例的链接: http://zippyui.com/react-datagrid/#/examples/basic

    知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

我怀疑dist/react-datagrid.js拥有预先打包到其中的所有内容,包括另一个React。删除其他反应脚本或查找不会捆绑react-datagrid的{​​{1}}版本。