繁体   English   中英

如何基于Rx.ReplaySubject模型在React中设置初始状态

[英]How to set the initial state in React based on a Rx.ReplaySubject model

我试图找出如何使isomporpic和Rx.js驱动的反应。

我的用例(此时)是使语言环境进入组件状态,以便我的i18n可以将其用于字符串选择。

假设我有一个简单的语言环境模型

import Rx from 'rxjs';

const localeModel = new Rx.ReplaySubject('en');

export default localeModel;

如何设置组件的初始状态

class MyHeader extends Component {
    constructor () {
        super();
        this.state = {locale: //???? 
         };
    }
}

我当然可以使用componentDidMount,subscribe和setState来最终获得正确的语言环境,但是我想让它在服务器上具有正确的值。

(实际上,我要做的不仅仅是设置语言环境-我还想根据组件的已知ID和语言环境将字符串拉入页面中)。

因此,鉴于Rx.js的基本原理是流式传输,如何在构造函数中同步获取可观察对象的当前值,并保持流式传输上下文中使用Rx的规范?

你可以像这样使用import

import i18n from 'localModel'

class MyHeader extends Component {
    constructor () {
        super();
        this.state = {locale: i18n}
         };
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM