Dva: subscriptions的适用场景?

Created on 29 Jun 2016  ·  1Comment  ·  Source: dvajs/dva

subscriptions会在domReady后全部都执行,而且没有任何约束。
对于需登录的系统,subscriptions是不应该执行的;
或者重刷当前页面,其他页面的subscriptions 也不应该执行;
该怎么控制比较好些?在每个subscriptions里面自己再做一次判断?

Most helpful comment

需登录的系统,通常需要做什么初始化的操作?


Subscription 语义是订阅,用于订阅一个数据源,然后根据条件 dispatch action。数据源可以是当前的时间、服务器的 websocket 连接、keyboard 输入等。

举几个我觉得适用的场景:

  1. 监听 history 改变,如果满足需求,触发 action,详见:friend list
  2. 和服务器建立 SSEWebsockets 连接,收到消息后,触发 action
  3. 监听 keyboard 输入,实现快捷键功能
  4. 监听 geolocation 改变
  5. 初始化服务器数据查询,详见:popular products
  6. ...

更多关于 subscription,见:http://elm-lang.org/blog/farewell-to-frp

>All comments

需登录的系统,通常需要做什么初始化的操作?


Subscription 语义是订阅,用于订阅一个数据源,然后根据条件 dispatch action。数据源可以是当前的时间、服务器的 websocket 连接、keyboard 输入等。

举几个我觉得适用的场景:

  1. 监听 history 改变,如果满足需求,触发 action,详见:friend list
  2. 和服务器建立 SSEWebsockets 连接,收到消息后,触发 action
  3. 监听 keyboard 输入,实现快捷键功能
  4. 监听 geolocation 改变
  5. 初始化服务器数据查询,详见:popular products
  6. ...

更多关于 subscription,见:http://elm-lang.org/blog/farewell-to-frp

Was this page helpful?
0 / 5 - 0 ratings