gpt4 book ai didi

reactjs - 为什么使用 React CreateReactClass?

转载 作者:行者123 更新时间:2023-12-03 13:33:16 30 4
gpt4 key购买 nike

我想将此包与 React 一起使用:https://github.com/naikus/svg-gauge

React 的示例使用 CreateReactClass,如下所示:

我需要这个吗?他们为什么用这个?文档没有提及使用 CreateReactClass 的原因。你可以在不使用 CreateReactClass 的情况下使用这个包吗?

import React from "react";
import CreateReactClass from "create-react-class";
import Gauge from "svg-gauge";

const defaultOptions = {
animDuration: 1,
showValue: true,
max: 100
// Put any other defaults you want. e.g. dialStartAngle, dialEndAngle, radius, etc.
};

const Component = CreateReactClass({
displayName: "Gauge",
componentDidMount() {
this.renderGauge(this.props);
},

shouldComponentUpdate(nextProps, nextState) {
const {props} = this;
if(props.value !== nextProps.value) {
this.renderGauge(nextProps);
}
return false;
},

render() {
return (
<div className="gauge-container" ref={el => this.gaugeEl = el}></div>
);
},

renderGauge(props) {
const gaugeOptions = Object.assign({}, defaultOptions, props);
if(!this.gauge) {
this.gauge = Gauge(this.gaugeEl, gaugeOptions);
}else {
this.gauge.setValueAnimated(props.value, gaugeOptions.animDuration);
}
}
});

最佳答案

最初,React.createClass 是声明组件的唯一方法。后来添加了类组件和功能无状态组件。随着 React 16 的发布,React.createClass 被删除,但它被移动到单独的 create-react-class 包中,以便在严重依赖 React.createClass 的代码库上更容易升级。您可以阅读有关 React.createClass 弃用的更多信息 here

因此该项目的示例仅使用 create-react-class 包,但您应该能够使用类或函数组件。

关于reactjs - 为什么使用 React CreateReactClass?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48412663/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com