[英]What is the use of components in ReactJS instead of a single variable
开始研究ReactJS,看不懂组件的用途。 例如让我们有一个组件:
var QuoteMaker = React.createClass({
render: function () {
return (
<blockquote>
<p>
The world is full of objects, more or less interesting; I do not wish to add any more.
</p>
<cite>
<a target="_blank"
href="#">
Douglas Huebler
</a>
</cite>
</blockquote>
);}});
为什么我们不能使用
var thisVar = (
<blockquote>
<p>
The world is full of objects, more or less interesting; I do not wish to add any more.
</p>
<cite>
<a target="_blank"
href="#">
Douglas Huebler
</a>
</cite>
</blockquote>
)
而不是那个组件。
React 允许您获得组合方法。 因此,您可以在 react 中用作新的 balise 文本(组合)。 你可以重用这个组件,它在任何地方都会有相同的行为。
你可以。 那就好了。
你不能做的是有一个由动态数据构建的列表。 如果您想要多个人的多个引用怎么办?
如果你想要一个随机出现哪个引用的按钮怎么办?
如果您想要 Twitter 提要、博客滚动或评论部分怎么办?
您不一定需要createClass
。 这是一种特别古老的看待事物的方式,您确实应该使用 Babel 构建管道; 句号。
你可以简单地说:
const Quote = (props) => (
<blockquote>
<p>{ props.quote }</p>
<cite >{ props.author }</cite>
</blockquote>
);
ReactDOM.render(<Quote quote="..." author="..." />, rootEl);
现在,您可以愉快地构建随机生成器、报价 API、报价编辑器或其他任何东西。 该组件做它应该做的事情,它依靠外部世界的输入来做它不应该做的事情。
这样,您在示例中可以创建函数或无状态组件,我们可以在其中使用可以从父对象传递的props
对象。
const Component = (props) => {
//access to props
}
类组件允许存储他们自己的状态并使用它来重新渲染组件,通过this.setState()
函数:
class Component extends React.Component {
constructor(props) {
super(props);
this.state = {};
}
//access to both state and props
}
为什么我们必须使用组件而不是 js 对象? 因为 React 有它自己的 DOM - virtual DOM
,它监听变化并重新渲染你的真实 DOM,你可以在任何地方重用或扩展这个组件,它的语义也很棒。
查看有关 React 组件的文档。
组件有很多用途。 这些是少数:
正如我之前所说,组件在平面 html 上有很多用途,基本上这就是 ReactJS 作为基于组件的重点:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.