我试图与第三方库集成,该库显示一些从函数调用返回的原始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
但是使用回调而第三方库并不期待回调。
有没有办法做到这一点?
答案 0 :(得分:0)
您是否可以在renderToString中的顶级组件中设置messages属性?