Javascript 将类文件转换为函数(钩子)?

Javascript 将类文件转换为函数(钩子)?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,我用纯react制作了这个类,我想把它转换成react钩子。我开始出发,但没有按预期进行。代码如下: class Parent extends React.Component { constructor(props) { super(props); this.state = { name: 'Frarthur' }; this.changeName = this.changeName.bind(this); } changeName(newN

我用纯react制作了这个类,我想把它转换成react钩子。我开始出发,但没有按预期进行。代码如下:

class Parent extends React.Component {
  constructor(props) {
    super(props);

    this.state = { name: 'Frarthur' };
    
    this.changeName = this.changeName.bind(this);
  }
  
  changeName(newName) {
    this.setState({
      name: newName
    });
  }

  render() {
    return <Child name={this.state.name} onChange={this.changeName} />
  }
}
);
类父级扩展React.Component{
建造师(道具){
超级(道具);
this.state={name:'Frarthur'};
this.changeName=this.changeName.bind(this);
}
更改名称(新名称){
这是我的国家({
姓名:newName
});
}
render(){
回来
}
}
);
我想这个例子在反应挂钩


function Parent () {
  const [changeName] = React.useState(name);
  const handleIncrement = () => setChange(newName);

return (
  <div>
    <div>
      <div>{name}</div>
      <Parent name={this.state.name} onChange={this.changeName} />
    </div>
  </div>
);
}


函数父级(){
const[changeName]=React.useState(名称);
const handleIncrement=()=>setChange(newName);
返回(
{name}
);
}

Hook模拟您的
父类组件:

const Parent = () => {
    const [name, changeName] = React.useState('Frarthur');

    return <Child name={name} onChange={changeName} />;
};
const Parent=()=>{
const[name,changeName]=React.useState('Frarthur');
回来
};

如果不了解您的需要,您希望将其转换为一个功能组件而不是挂钩

const Parent = (props) => {
    const [name, setName] = React.useState("Frathur");

    const changeName = (newName) => {
        setName(newName);
    }

    return <Child name={name} onChange={changeName} />
}
const Parent=(道具)=>{
const[name,setName]=React.useState(“Frathur”);
const changeName=(newName)=>{
setName(newName);
}
回来
}
我建议通过