首页 > 解决方案 > 如何设置我在 chrome FreeBSD 23 上运行的 reactjs 应用程序的样式?

问题描述

我正在尝试在 Panasonic Vierra Smart Tv 浏览器上运行我的 reactjs 应用程序。我可以在导入 core-js 和 babel-polyfill 后加载网页,但是 UI 不合适。样式未按预期工作。相同的 UI 在我笔记本电脑的 chrome 上运行良好。

标签: cssreactjssmart-tvbabel-polyfill

解决方案


当谈到嵌入式浏览器时,所有的赌注都没有了。它们通常有旧的、低效的渲染引擎,只支持我们所知道的 CSS 的一个子集;在低功耗硬件上运行;以解释模式执行 JavaScript,并且通常存在其他缺陷,例如最大堆栈深度低以及缺乏隐藏类或缓存属性查找等现代创新。

这些浏览器的文档通常也很差。即使与制造商合作作为商业合作伙伴,您也很难获得很多帮助。这是一个问题,因为电视浏览器通常有很多错误,很少更新,而且它们的低性能似乎加剧了它们的问题。在过去,我已经看到渲染竞争条件和为它们开发的各种讨厌的东西。他们是一个真正的痛苦。

我给你的建议是:

  1. 坚持使用 CSS2 样式功能,除非您可以证明支持特定的 CSS3 模块。这可能意味着用浮动和表格布置您的页面。
  2. 尽可能少地进行 JavaScript 渲染。对于这个用例,我不会使用 React。
  3. 写你的 JS 时要注意 IE 时代的“经典”优化:在闭包中缓存属性查找;避免绑定新功能;警惕堆栈深度(避免 React 的另一个原因 - 组件可以调用一些深度嵌套的函数调用)
  4. 避免转译语言。您需要完全控制正在执行的代码,因为运行时的性能很差。这可能意味着向 JSX 和 Typescript 之类的细节挥手告别。

总的来说,如果你正在为电视编写 JS 应用程序,你将不得不稍微远离 webdev 的思维方式,而更多地转向嵌入式系统的思维方式。

祝你好运!


推荐阅读