Javascript 在React中使用对象构造函数?
据我所知,我们主要是在Javascript 在React中使用对象构造函数?,javascript,reactjs,oop,Javascript,Reactjs,Oop,据我所知,我们主要是在状态下定义对象,就像对象文字一样。我还没有看到对象构造函数的方式,对于更复杂的对象,使用构造函数创建person既简洁又简单。我的问题是, 1-使用带有new关键字的对象是否是不良做法?为什么 2-什么是正确的方法?为什么 3-对于包含太多嵌套变量的对象,我们如何定期声明 我还把代码 class Obj { name = ''; surname = ''; age = 0; constructor(name,surname,age) {
状态下定义对象,就像对象文字一样。我还没有看到对象构造函数的方式,对于更复杂的对象,使用构造函数创建person既简洁又简单。我的问题是,
1-使用带有new
关键字的对象是否是不良做法?为什么
2-什么是正确的方法?为什么
3-对于包含太多嵌套变量的对象,我们如何定期声明
我还把代码
class Obj {
name = '';
surname = '';
age = 0;
constructor(name,surname,age) {
this.name = name;
this.surname = surname;
this.age = age;
}
getName() {
return this.name;
}
}
export default Obj;
从“/Object”导入人员;
函数App(){
const[objs,setObjs]=React.useState({
trialObj:新人('trialName','trialSurname',25)
})
返回(
{objs.trialObj.getName()}
);
}
导出默认应用程序;
注意:重新渲染需要对象的新实例,这是react的主要概念
const UserMeta = () => {
const [user, setUser] = useState(new User('name', 'age' ... 100 fields));
return (
<button onClick={() => setUser(new User('customName' ... 101 values via User.getSomething()))}>
Update Name
</button>
)
}
若你们想使用模型,请阅读文章。使用TS可以防止“遗忘属性”等
F.E
constusermeta:React.FC=()=>{
const[user,setUser]=useState({name:'name',age:'age'…100个字段));
返回(
setUser({name:'customName',…user})}>
更新名称
)
}
1)不,只要类方法不改变类属性。只是看不到任何好处
const UserMeta = () => {
const [user, setUser] = useState(new User('name', 'age' ... 100 fields));
return (
<button onClick={() => setUser(new User('customName' ... 101 values via User.getSomething()))}>
Update Name
</button>
)
}
const UserMeta = () => {
const [user, setUser] = useState(new User('name', 'age' ... 100 fields));
return (
<button onClick={() => setUser({ name: 'customName', ...user })}>
Update Name
</button>
)
}
const UserMeta = () => {
const [user, setUser] = useState({ name: 'name', age: 'age' ... 100 fields));
return (
<button onClick={() => setUser({ name: 'Custom, ...user })}>
Update Name
</button>
)
}
const UserMeta: React.FC = () => {
const [user, setUser] = useState<UserModel>({ name: 'name', age: 'age' ... 100 fields));
return (
<button onClick={() => setUser({ name: 'customName', ...user })}>
Update Name
</button>
)
}