【发布时间】:2017-03-07 13:41:14
【问题描述】:
我们使用 React 和 jsx 已经有一段时间了,对于条件,我们一直在使用我非常喜欢的 jsx-control-statements:
<If condition={something === true}>
<div>Something</div>
</If>
最近我们的项目已经转移到 TypeScript,这很好,但是 jsx-control-statements 不再起作用。原因是条件表达式不是 React 组件,而是由 Babel 在转译步骤中处理的,这意味着 TypeScript 不会编译。
我有什么选择?
我想过制作一个 If 组件,但它需要我将结果包装在一个我不喜欢的新元素中。
【问题讨论】:
-
不同之处在于,将条件语句实现为 React 组件,我们必须将语句的内容包装在一个额外的元素中。此外,不必重新实现 jsx-control-statements 已经做得很好的东西也很好。
标签: reactjs typescript react-jsx