将AngularJs代码映射到ReactJs?

时间:2016-10-24 11:39:53

标签: angularjs reactjs angularjs-rootscope

我是反应灵的新手。我想知道在reactJs中是否有等效的角度服务,例如$rootScop$q$webSocket,...

.service('a', function ($rootScope, $location, $q, $webSocket) {
    this.init = function () {
        b()
        c()
    }

例如代码参数高于什么等效反应?我知道反应中的等效$ scope是this.state。

2 个答案:

答案 0 :(得分:2)

没有反应中的服务

这里有替代品。

  1. $ rootscope - > state,您可以跨组件共享它。 (您可以将redux用于状态管理,其理念是一个真正的数据源)。
  2. $ q - > Es6承诺
  3. $ websocket - > html5 websocket。
  4. 类似于服务的一点是你可以编写一个Class或Function,它将所有必需的服务作为params,你可以通过导出它来调用它。

    您可以使用一些类似的实现来做出反应。

    在service.js

    const myService = (...otherServices) => {
        doStuff1();
        doStuff2();
        return {
           ...items
        }
    }
    export default myService;
    

    在component.js

    你可以导入它

    import myService from './service';
    import React from 'react';
    class testComponent extends React.Component {
        constructor(props){
            super(props);
            this.data = myService().getData(); //just an example.
        }
        render(){
            return (
                <div>{this.data}</div>
            );
        }
    } 
    

答案 1 :(得分:0)

$ rootScope - &gt;它是角度的全局范围对象,作为反应,我们使用reducer来存储所有组件都可以访问的数据

$ Q-&GT;我们有q库与$ q in react

相同

$ location - &gt;我们在类/组件的实例中有转换/历史记录

$ webScocket-&GT; Ť 这里有多个模块https://blog.pusher.com/making-reactjs-realtime-with-websockets/