我有一个用例,页面上有一个“加载更多”按钮可以从 API 端点获取更多项目,因此我希望这些项目在到达时附加到 DOM。问题是由 Web 服务器提供的 HTML 页面在item-list
我安装 React 组件的同一个div 容器中带有一些额外的列表项(如下所示),在页面加载时带有空数据/props。
<div class="item-list">
<div class="item-list__child-item"></div>
<div class="item-list__child-item"></div>
...
<div class="item-list__child-item"></div>
</div>
我的假设是,如果我以 ReactJS 的方式处理这个问题,一旦我从服务器 (REST) 获取更多项目并将这些项目附加到“itemList”状态数组中,React 就会以某种方式替换所有包含该内容的内容。 item-list' 组件所在的 div。
我认为可行的快速解决方法是创建一个具有相同 div 类名称“item-list”的单独同级 div,它不依赖同构的东西并在服务器上预渲染react组件并添加一个 id 属性来挂载组件,因此生成的 HTML 将如下所示:
<div class="item-list">
<div class="item-list__child-item"></div>
<div class="item-list__child-item"></div>
...
<div class="item-list__child-item"></div>
</div>
<div class="item-list" id="react-component-name"></div>
也许有一种更简洁的方法可以在不涉及同构的东西的情况下做到这一点,或者我可能不理解 React 概念及其工作原理。无论如何,您将感激您对此的任何指示。