Reactjs - 以正确的方式将组件传递给innerHTML?

时间:2017-05-29 17:33:50

标签: javascript reactjs

我有一个更新状态的简单方法:

handleResponse(showMessage, message) {
    this.setState({
        Form: {},
        Result: {
            showMessage: showMessage,
            message: message
        }
    });
}

我有一个正在侦听状态变化的切换组件:

<ToggleDisplay
    className="resMessage"
    show={this.state.Result.showMessage}
    dangerouslySetInnerHTML={{
        __html: this.state.Result.message
    }}
/>

我要传入的字符串是例如

Please <NavLink to="/Register">Click Here</NavLink>

因此,将组件传递给需要渲染的组件。

我尝试在组件周围使用模板文字,但这只是导致各种IDE错误显然是错误的。

问题是,是否有比dangerouslySetInnerHTML更好的方法,因为它只是感觉不对,并且不允许传递组件。

我知道我可以传入

Please <a href="/Register">Click Here</a>

但是这对于SPA路线来说是没用的,但仍然感觉不对。

我也试过了:

<ToggleDisplay
    className="resMessage"
    show={this.state.Result.showMessge}
>
    {this.state.Result.message}
</ToggleDisplay>

但是,当然,这只是打印原始文本。

有更好的方法吗?

0 个答案:

没有答案