【发布时间】:2021-02-21 20:47:59
【问题描述】:
如何将类组件转换为函数式组件?
import React, { Component } from 'react'
class Test extends Component {
state = {
value: "test text",
isInEditMode: false
}
changeEditMode = () => {
this.setState({
isInEditMode: this.state.isInEditMode
});
};
updateComponentValue = () => {
this.setState({
isInEditMode: false,
value: this.refs.theThexInput.value
})
}
renderEditView = () => {
return (
<div>
<input type="text" defaultValue={this.state.value} ref="theThexInput" />
<button onClick={this.changeEditMode}>X</button>
<button onClick={this.updateComponentValue}>OK</button>
</div>
);
};
renderDefaultView = () => {
return (
<div onDoubleClick={this.changeEditMode}
{this.state.value}>
</div>
};
render() {
return this.state.isInEditMode ?
this.renderEditView() :
this.renderDefaultView()
}}
export default Test;
我假设需要使用钩子和破坏,但不知道如何实现它。 有没有好的指导方针或最佳实践可以遵循?
【问题讨论】:
-
这个step-by-step guide 不错,但我建议您首先阅读并使用钩子构建功能组件,而不是仅仅尝试遵循指南。如果您已经熟悉功能组件而不是类组件,那么该指南应该会有所帮助。
-
有很多关于这个主题的指南、教程和官方文档。请先尝试自己尝试,如果遇到困难,请在此处回复。
标签: reactjs react-functional-component react-class-based-component