我是一个新手,我总是想到一个基于类的组件,就像我在Java中做类一样。
在Java中比较基于类的组件和类的两种思维是正确的吗?换句话说,呈现的组件是否像Java中的对象一样,它们是类的实例化?
有区别吗?
文档中强调的一件重要的事情是,考虑OOP(以及特定的继承)是我们不会像Java那样扩展类。
这是什么意思?让我们从下面的答案中举一个简单的例子:
public class ExtendedButton extends Button {
public ExtendedButton() {
super();
styleProperty().bind(Bindings.
when(buttonState.isEqualTo(ButtonState.CRITICAL)).
then("-fx-base: red;").
otherwise(""));
}
}
react中的一个例子有两个主要区别。
extended按钮
将扩展React.Component
而不是按钮
按钮。prototype
,但您可以使用如下所示的合成核心引导按钮
class Button extends React.Component {
render() {
return (
<button className=`btn btn-{this.props.btnType}` onClick={this.props.handleClick}>
{ this.props.label}
</button>
)
}
}
主引导按钮
class PrimaryButton extends React.Component {
render() {
return (
<Button btnType="default" handleClick={this.props.handleClick} label={ this.props.label} />
)
}
}
这将是某人开始编写引导按钮的方式。不过,这是简化的,当你理解它时,构图会变得更加有趣。考虑查看留档中关于组合与继承的整篇文章
在花了一些时间学习React之后,我理解了创建组件的两种主要模式之间的差异。 我的问题是什么时候我应该使用哪一个,为什么?一种方法与另一种方法相比有哪些好处/利弊? ES6类: 功能: 我认为只要没有状态可被该组件操纵,就可以正常工作,但就这样吗? 我想如果我使用任何生命周期方法,最好使用基于类的组件。
问题内容: 在花了一些时间学习React之后,我了解了创建组件的两个主要范例之间的区别。 我的问题是,什么时候应该使用哪个?为什么?一个人相对于另一个人的利益/取舍是什么? ES6课程: 功能性: 我认为只要没有状态可以由该组件操纵,功能就可以了,是吗? 我猜如果我使用任何生命周期方法,最好使用基于类的组件。 问题答案: 你有正确的主意。如果您的组件只做一些道具和渲染,那么功能就可以了。您可以将它
如果您在声明组件时更喜欢基于类的 API,则可以使用官方维护的vue-class-component装饰器: import Vue from 'vue' import Component from 'vue-class-component' // @Component 修饰符注明了此类为一个 Vue 组件 @Component({ // 所有的组件选项都可以放在这里 template:
问题内容: 我是 React的 新手,我想清楚地知道要使用哪一种,关于组件,我看到有两种类型。 功能组件: 基于类的组件: 我读到我们应该始终尝试使用 功能性组件, 因为它在某些方面有所帮助,并且还听说我们应该尽可能避免使用基于 类的组件 。 我很困惑哪个是对的,哪个不是。 为什么要尽可能使用功能组件,这样做有什么好处? 我们何时应该选择功能组件,何时不应该,尚不清楚。 问题答案: 类组件 基于类
问题内容: 在JavaScript中,每个对象同时是一个实例和一个类。要进行继承,可以将任何对象实例用作原型。 在Python,C ++等中,有类和实例作为单独的概念。为了进行继承,您必须使用基类创建一个新类,然后可以使用该新类来生成派生实例。 为什么JavaScript朝这个方向发展(基于原型的面向对象)?与传统的基于类的OO相比,基于原型的OO有哪些优点和缺点? 问题答案: 这里大约有一百个术
问题内容: 我正在尝试使用React.forwardRef,但是绊倒了如何使其在基于类的组件(而不是HOC)中工作。 docs示例使用元素和功能组件,甚至将类包装在函数中以获取更高阶的组件。 因此,从像这样在他们的文件: 而是将其定义如下: 要么 只工作:/ 另外,我知道我知道,裁判不是反应方式。我正在尝试使用第三方画布库,并希望将其一些工具添加到单独的组件中,因此我需要事件侦听器,因此需要生命周