怎么解决在使用react过程中,大量html写在js文件中?


使用jsx,开发组件时,发现大量html代码写在js中,非常丑陋而且不好维护。不知道有什么好的解决方案。

reactjs jsx JavaScript

capcomQ 10 years, 10 months ago

人家生下来就是这样的,你却非要把人家拆开。写 React 代码思维如果不能转过去会悲剧的。
React 有组件这么一说,你还要用以前的框架的思想去编程,是不对的。
JSX 是为了让你写的更爽。

看到有人说 react-template,你看看是不是符合你的需求。

小兰·魇魅 answered 10 years, 10 months ago

没必要, 以前的 js 嵌入 html 的方式影响JS代码的阅读,维护起来也会麻烦。JSX属于一种domain language, 用来动态生成dom, 写view层。本身不是html。所以你不必考虑这样的问题。

拙眼D傻娜 answered 10 years, 10 months ago

一个解决方案就是,不用JSX,手写 React.createElement 函数调用,过一阵子你就会觉得,还是写JSX好。

抽疯似的微笑 answered 10 years, 10 months ago

有『大量』的时候,是不是考虑拆分为更小的组件来维护哇

天衣無縫D亡靈 answered 10 years, 10 months ago

Facebook 注意到了有一群写 CoffeeScript 的人死活不要写奇奇怪怪的语法,
实际上也做了一些让步, 我在 Teambition 用的写法就是 CoffeeScript 版本, 可以参考下:
https://github.com/teambition/react-lite-dropdown/blob/gh-pages/src/dr...
http://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.h...
如果你觉得好看的话, 就来吧. 不好看的话估计事情就是这样, 没有太多改变的余地了.


好吧终于认出楼主了.. 补几句..
我试了一下用 Babel 去写, Sublime Text 用 Babel 的插件, 感觉还行.
如果能接纳原生 js 语法的话, 我想还是尝试适应 JSX 的写法更好.
Babel 用的是 ES6, 兼容 JSX, 跟 CoffeeScript 一样也是编译.

凤凰院伦太郎 answered 10 years, 10 months ago

Your Answer