新手求教 react 中 类组件中到底要不要定义构造函数constructor()?

#1

类组件中到底要不要定义构造函数constructor()?

super()里边到底要不要传入props参数?

绑定事件到底要不要在构造函数constructor()中进行?

什么情况下在constructor()中初始化事件 和 初始化状态

1 Like
#2

constructor()是ES6写法所特有的, 代替了ES5的 getDefaultProps(){} , getInitialState(){}
1 到底要不要写?
答: 如果你需要设置默认的状态就要写

2 super( ) 要不要传 props ?
答: constructor () 必须配上 super(), 如果要在constructor 内部使用 this.props 就要 传入props , 否则不用

3 绑定事件到底要不要在构造函数constructor()中进行?
答: js 的bind 每次都会返回一个新的函数, 为了性能等考虑, 要在constructor中绑定事件

4 什么情况下在constructor()中初始化事件 和 初始化状态?
比如: input 需要一个默认value的时候, 你就要 初始化状态了

#3

@vincent2117 大佬,你看看现在写一个组件 就这样的格式 初始化prop,和初始化state 对不对,(现在里面的内容不对)

#4

@savelifeme
前面的写法没有问题, 但是 static defaultProps 就不能写在 组件内部了.
默认属性已经作为组件的属性写到外面.

class Butoon extends React.Component{}

Button.defaultProps={
name:‘default name’
};

#5

好的,谢谢大佬指教,:grinning:

#6

目前这样写也行 使用 create-react-app 脚手架 创建的项目

#7

谢谢,涨知识了:grinning: