2016-07-28 42 views
0

当前正在学习React,并且我已经开始使用样板。他们用这个语法:不同的React组件语法

export const Header =() => (
    ... 
) 

export default Header 

请问上面的代码等同于:

export default React.createClass({ 
    ... 
}) 

export const CompName = React.createClass({ 
    ... 
}) 

请解释一下,谢谢!

回答

2

这是新(ish)stateless functional component syntax的示例。这是一个简单的方法,让组件只是一个基于道具返回JSX的单个函数。 Here是一个有更多背景的中型职位。

+0

我更喜欢在大多数情况下使用它们,因为它们很简单。然而,它们的一些缺点是:没有反应生命周期方法(即没有componentDidMount等);这意味着没有shouldComponentUpdate方法,这意味着你不能利用某些性能优化https://facebook.github.io/react/docs/advanced-performance.html#avoiding-reconciling-the-dom ..据说,我发现我的大部分组件都是Redux容器组件的子组件,它们(自动)利用shouldComponentUpdate,所以对我来说这不是什么大问题。 – John