Reactjs 在React.js中声明无状态功能组件的首选方法是哪一种?为什么?
函数声明Reactjs 在React.js中声明无状态功能组件的首选方法是哪一种?为什么?,reactjs,Reactjs,函数声明 function MyComponent(props, context) {} 函数表达式 const MyComponent = function(props, context){} 箭头函数 const MyComponent = (props, context) => {} 函数声明,如果您想要提升并且更喜欢可读性而不是性能 函数表达式,如果您想命名您的函数,那么您可以通过调试堆栈跟踪(例如从Chrome开发工具)更容易地识别它 如果您不关心堆栈跟踪中的匿名函数,并且
function MyComponent(props, context) {}
函数表达式
const MyComponent = function(props, context){}
箭头函数
const MyComponent = (props, context) => {}
函数声明,如果您想要提升并且更喜欢可读性而不是性能 函数表达式,如果您想命名您的函数,那么您可以通过调试堆栈跟踪(例如从Chrome开发工具)更容易地识别它
如果您不关心堆栈跟踪中的匿名函数,并且希望避免绑定此我的无状态组件如下所示,在我看来,它看起来非常干净,非常像HTML。此外,如果不使用括号,es6 arrow函数将假定返回表达式,因此可以省略这些表达式:
const Table = props =>
<table className="table table-striped table-hover">
<thead>
<tr >
<th>Name</th>
<th>Contact</th>
<th>Child Summary</th>
</tr>
</thead>
<tbody>
{props.items.map(item => [
<TableRow itemId={item.id} />,
item.isSelected && <TableRowDetails itemId={item.id} />
])}
</tbody>
</table>
const Table=props=>
名称
接触
子摘要
{props.items.map(item=>[
,
item.isSelected&&
])}
这是毫无意义的,因为它们都只是JavaScript函数,这一点已经得到了回答