目前,render方法只能返回单个元素/组件.见:这里
在该票据的讨论中,一些人建议将从React组件返回的多个元素包装在HTML注释中,以便浏览器忽略包装组件,例如:
<A>
<B></B>
<Fragment>
<C></C>
<D></D>
</Fragment>
<E></E>
</A>
Run Code Online (Sandbox Code Playgroud)
会呈现给:
<a>
<b></b>
<!--<fragment data-reactid="">-->
<c></c>
<d></d>
<!--</fragment>-->
<e></e>
</a>
Run Code Online (Sandbox Code Playgroud)
但是如何实际创建一个只呈现HTML注释的组件?换句话说,上面例子中'fragment'组件的render函数如何看起来像?
我上周开始了一个项目.在回到我的团队之前,我想评论我的代码.
/* Just for the Syntax outlook */
class Foo extends React.Components {
constructor(props) {
super(props);
}
render() {
return (
<div className='bar'>
/*
<p> cannot commit!!!! </p>
** Following will throw error when bundled with webpack
*/
// This throws error as well.
<div>
)
}
}Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>Run Code Online (Sandbox Code Playgroud)
代码可能看起来像评论工作,但目前的JSbin设置没有在ES6上设置.当您使用jsx通过webpack运行捆绑它时会抛出错误.
以下是以下堆栈
顺便说一句,因为Node v6已经出局了,我们还需要使用babel吗?
给出以下JSX代码:
<div className="my-class"></div>
Run Code Online (Sandbox Code Playgroud)
我该如何注释掉className="my-class"?
/*className="my-class"*/ 不起作用{/* className="my-class" */}不起作用(TS1005:'...' expected)(对不起,如果太明显和/或重复,找不到原来的......)
我怎么能在下面评论出TodoTitle?我试着<!--...-->, //, /*...*/没有运气.
class TodoApp extends React.Component {
render() {
return (
<div className="todo-app">
<TodoTitle />
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud) reactjs ×3
javascript ×2
jsx ×2
dom ×1
html5 ×1
node.js ×1
react-jsx ×1
typescript ×1
webpack ×1
webstorm ×1