首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AngularJs和ngReact使用render

如何使用AngularJs和ngReact使用render
EN

Stack Overflow用户
提问于 2017-02-14 01:38:24
回答 1查看 380关注 0票数 0

我试图在angularJs应用程序中使用StormReact库。

在下面的代码中,我在库中创建了类,它使用webpack作为单个bundle.js捆绑在一起。

代码语言:javascript
复制
window.HelloStormReact =  React.createClass({

render: function() {

var Engine = require("../src/Engine")();

var model = {links:[],nodes: []};

function generateSet(model,offsetX,offsetY){

                    var node1 = Engine.UID();
    var node2 = Engine.UID();
    var node3 = Engine.UID();
    var node4 = Engine.UID();
    var node5 = Engine.UID();


    model.links = model.links.concat([
        {
            id: Engine.UID(),
            source: node1,
            sourcePort: 'out',
            target: node2,
            targetPort: 'in',
        },
        {
            id: Engine.UID(),
            source: node1,
            sourcePort: 'out',
            target: node3,
            targetPort: 'in'
        },
        {
            id: Engine.UID(),
            source: node2,
            sourcePort: 'out',
            target: node4,
            targetPort: 'in'
        },
        {
            id: Engine.UID(),
            source: node4,
            sourcePort: 'out',
            target: node5,
            targetPort: 'in2'
        },
        {
            id: Engine.UID(),
            source: node2,
            sourcePort: 'out',
            target: node5,
            targetPort: 'in'
        }
    ]);

    model.nodes = model.nodes.concat([
    {
            id:node1,
            type: 'action',
            data: {
                name: "Create User",
                outVariables: ['out']
            },
            x:50 + offsetX,
            y:50 + offsetY
        },
        {
            id:node2,
            type: 'action',
            data: {
                name: "Add Card to User",
                inVariables: ['in','in 2'],
                outVariables: ['out']
            },
            x:250 +offsetX,
            y:50 + offsetY
        },
        {
            id:node3,
            type: 'action',
            data: {
                color: 'rgb(0,192,255)',
                name: "Remove User",
                inVariables: ['in']
            },
            x:250 + offsetX,
            y:150 + offsetY
        },
        {
            id:node4,
            type: 'action',
            data: {
                color: 'rgb(0,192,255)',
                name: "Remove User",
                inVariables: ['in'],
                outVariables: ['out']
            },
            x:500 + offsetX,
            y:150 + offsetY
        },
        {
            id:node5,
            type: 'action',
            data: {
                color: 'rgb(192,255,0)',
                name: "Complex Action 2",
                inVariables: ['in','in2','in3']
            },
            x:800 + offsetX,
            y:100 + offsetY
        },
    ]);
                }

generateSet(model,0,0);

Engine.registerNodeFactory({
    type:'action',
    generateModel: function(model){
        return React.createElement(BasicNodeWidget,{
            removeAction: function(){
                Engine.removeNode(model);
            },
            color: model.data.color,
            node: model,
            name: model.data.name,
            inPorts: model.data.inVariables,
            outPorts: model.data.outVariables
        });
    }
});

Engine.loadModel(model);

return ReactDOM.render(React.createElement(Canvas,{engine: Engine}), document.getElementById("howdy"));;
}
});

在index.html中,我使用了在Storm库模块中创建的类。

代码语言:javascript
复制
 <div class="content">
   <react-component name="HelloStormReact" />
   <div class="storm-flow-canvas" id="howdy">
   </div>
</div>

我收到错误了

代码语言:javascript
复制
    Constructor.render(): A valid React element (or null) must be returned. 
   You may have returned undefined, an array or some other invalid object.

帮助我编写正确的呈现对象以返回。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-14 06:06:06

因为HelloStormReact只是一个组件,所以在它的render函数中,您不需要再次呈现它,只需在render函数中返回React.createElement(Canvas,{engine: Engine})

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42216438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档