React的actor架构?

#1

最近写了个js版本的akka actor.,项目地址js-actor。忽然有灵感,能不能把组件也当作一个actor,大概意思是这样的:

// actor
class DialogComponent extends AbstractActor {
     public render() {
          return <div style={{display: this.state.display}}>{this.state.message}</div>
     }
     public createReceive() {
          return this.receiveBuilder()
               .match(Dialog, dialog => this.setState(dialog))
               .build()
     }
}

//message
class Dialog {
    constructor(public display: "block" | "none", public message: string){}
}

dialogActor = system.actorOf(new DialogComponent())

dialogActor.tell(new Dialog("block", "hello!"))

每个组件都是一个actor,可以接收消息,也可以向其他组件(actor)发送消息。并且actor也和react是树结构的,类似这种:
http://doc.akka.io/docs/akka/current/java/guide/diagrams/arch_tree_diagram.png)

这里,解决了组件通讯的问题。

所有的actor都在system底下,包括rootActor。组件都是通过system的eventStream发送dispatch消息,这样time trivial又有了。

这个架构是不是很有趣 手动滑稽