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

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

本文关键字:React 设置 初始状态 模型 何基于 Rx ReplaySubject      更新时间:2023-09-26

我正试图弄清楚如何使react同时驱动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}
         };
    }
}