【发布时间】:2018-08-03 02:39:37
【问题描述】:
我目前正在处理一个旧项目,该项目有其“自己的方式”来执行单页应用程序(Ajax 调用 MVC 应用程序、获取视图、替换视图客户端、附加样式和大量其他的东西!!),虽然不理想,但目前我坚持下去!
我正在尝试将现有的 React 应用程序集成到该站点中,我正在做的是使用 create-react-app 然后 build 创建捆绑包,并在应用程序中,在视图中开始从特定页面的服务器,我放置了script 和link 标签,指向我的捆绑文件。值得注意的是,这个服务器视图是部分 ASP.NET MVC 视图,所以我的script 和link 标记在某种程度上是body 的一部分。
我还在我的 React 应用程序中使用 styled-components。
现在,问题来了:当我第一次加载我提到的页面时,我的 script 已加载,并且我可以看到我的所有组件的样式都正确,但是当我在现有的自定义 SPA 应用程序中导航时,有时, 与styled-components 相关的样式被搞砸了,唯一的办法就是重新加载页面。
我正在检查页面,我看到styled-components 正在使用在head 中创建的自定义link 执行操作,并且我看到data-styled-components 属性在我的组件加载时填充了自定义类名,但是当问题出现时,在 Chrome 开发者工具中,我看到 link 标记闪烁,好像它已更改,但它保持不变。
我附上了标签的 GIF: - 它从初始页面加载开始 - 我离开然后回来,我看到更多的课程被附加 - 我重复这一步,我只看到它在闪烁
我知道这篇文章已经很长了,但非常感谢任何帮助。有没有可能,在当前的基础设施中,每当我回到页面时,服务器会发送一个 script 标签指向我的 React 包?
【问题讨论】:
标签: javascript css reactjs styled-components