【问题标题】:ReactJs.net Server Side Rendering with client initialization throws warning带有客户端初始化的 ReactJs.net 服务器端渲染会引发警告
【发布时间】:2016-10-15 12:00:49
【问题描述】:

我有一个 reactjs.net 实现......没什么特别的。我了解所有代码,但不明白为什么我在网络控制台中收到错误:

用新的根组件替换 React 渲染的子组件。如果您打算更新此节点的子节点,则应该让现有子节点更新其状态并渲染新组件,而不是调用 ReactDOM.render

基本上,我有一个 工作 JSX 文件,并使用

在 asp.net mvc 视图中呈现它
@Html.React("myClass",{ data = "Martin" })
@Html.ReactInitJavascript()

组件渲染得很好,我用 serverSideOnly 等对其进行了测试。一切都很好。但是通过上述配置,我得到了上述错误。我看起来 React 正在尝试重新渲染组件,而不是像文档所说的那样仅仅连接事件处理程序。

任何线索我做错了什么?

【问题讨论】:

    标签: asp.net-mvc reactjs reactjs.net


    【解决方案1】:

    我实际上发现了为什么会弹出这个错误。它与封闭的 html 有关 - 我很笨拙 - 使用为 React-creation 设置的 id-tag 创建了 div。我刚刚删除了外部 div,React 为我创建了那个。我对 React 有这么大的误解。

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题,我用以下方法解决了。

      首先只需获取纯 html 以呈现到页面。

      @Html.React("myClass",{ data = "Martin" }, serverOnly: true)
      

      第二次连接前端。

      @Html.ReactInitJavaScript(clientOnly: true)
      

      【讨论】:

        猜你喜欢
        • 2015-09-16
        • 2016-10-17
        • 2016-08-20
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 2016-07-04
        • 2018-01-05
        相关资源
        最近更新 更多