【发布时间】:2018-02-09 07:32:31
【问题描述】:
ReactJS 文档对他们的 JSX 的功能做了一些有趣且强大的说明:
你可以在 JSX 中嵌入任何 JavaScript 表达式,方法是用 curly 包裹它 大括号。例如,
2 + 2、user.firstName和formatName(user)都是有效的表达式。
https://reactjs.org/docs/introducing-jsx.html#embedding-expressions-in-jsx
这对我来说是如此强大和有趣,因为这在 AngularJS 和 EmberJS 中是不可能的。 Angular 在其标记中使用 Angular 表达式,而 EmberJS 在其标记中使用 Handlebar 表达式。
Q1)ReactJS如何实现读取JSX内部的any JS Expression?
Q2) 他们在后台使用 eval() 吗?
【问题讨论】:
-
我不能给你一个深入的答案,因为我不是 React 内部的专家。但是,也许可以通过阅读以下内容来解决问题:reactjs.org/docs/react-without-jsx.html 和那里的 babel 编译器的链接。
React.createElement接受任意数量的参数,我认为这些参数会被执行、附加和返回。我快速搜索了一下,但分发的 React 文件中没有eval。
标签: javascript reactjs jsx