Reactjs:使用上下文在客户端上呈现原始html

时间:2015-05-20 00:33:18

标签: javascript reactjs reactjs-flux

我试图与第三方库集成,该库显示一些从函数调用返回的原始html作为弹出窗口。我发现我可以使用renderToString来渲染我的组件并将其返回。

  _popup(id) {
    var foo = _getFoo(id);
    return React.renderToString(
        <Selectable>
          <FooMedia foo={foo} />
        </Selectable>
      );
  },

这很好用,并且html正确显示。我遇到的问题是我使用的是React Intl,它希望messages对象在组件上下文中可用。当我像这样引导我的应用程序时,我最初设置了这个:

  React.render(
    <Handler
      params={state.params}
      locales={'en-US'}
      formats={formats}
      messages={messages} 
    />,
    document.getElementById('app')
  );

但由于我在组件层次结构之外渲染组件,因此上下文不会被传递下去。如何设置组件片段的上下文?我发现withContext但是使用回调而第三方库并不期待回调。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

您是否可以在renderToString中的顶级组件中设置messages属性?