在React 0.13之后,我们可以使用ES6 Class来创建如上所述的React组件:
<ul>
@foreach($users as $user)
<li>
{{$user->name()}}
</li>
@endforeach
</ul>
Here is my model
<?php
namespace Horsefly;
use DB;
use Illuminate\Database\Eloquent\Model;
class profile extends Model
{
$users = DB::table('users')->get();
}
但是,如果偶尔忘记键入class A extends React.Component {
// ...
}
,只要我不使用extends React.Component
之类的简单方法,组件A对我来说仍然有效。
我开始认为React组件必须从this.setState()
扩展。
在像FLUX或Redux这样的架构中,有智能的React组件和愚蠢的React组件。智能组件连接到数据存储,而哑组只接收来自父项和渲染的道具。我已经在React 0.14中知道我们可以简单地写一个纯粹的愚蠢的功能。
然而,在智能组件中,也存在一些组件具有状态而另一些组件没有区别的差异。如果键入React.Component
与不是extends React.Component
之间的区别仅仅是this.setState()
,我就不会{{1当我的组件不需要管理自己的状态时。
答案 0 :(得分:1)
React组件是否有必要从React.Component扩展?
不在React v0.13而是it will be in v0.14:
ES6组件类现在必须扩展
React.Component
才能启用无状态功能组件。 ES3 module pattern将继续有效。
因此,为了支持函数作为简单的无状态组件(你提到的),似乎类需要扩展React.Component
。