Javascript 如何在React组件中放入常量,包装在recompose中
如何编写特定于组件的常量STATUS,您可以将其设置为this.state.STATUS?我认为问题在于这一背景。如果Javascript 如何在React组件中放入常量,包装在recompose中,javascript,reactjs,static,Javascript,Reactjs,Static,如何编写特定于组件的常量STATUS,您可以将其设置为this.state.STATUS?我认为问题在于这一背景。如果this.STATUS是以字符串形式硬编码的,则它可以工作 import { compose } from 'recompose'; import React, { Component } from 'react'; class TestComponent extends Component { static propTypes = {}; // can yo
this.STATUS
是以字符串形式硬编码的,则它可以工作
import { compose } from 'recompose';
import React, { Component } from 'react';
class TestComponent extends Component {
static propTypes = {};
// can you put the STATUS constant on the component?
static STATUS = {
SENT: 'SENT',
ERROR: 'ERROR',
};
state = { status: null };
// functions cannot use this.STATUS
f = () => {
this.setState({status: this.STATUS.SENT});
// undefined is not an object (evaluating '_this.STATUS.SENT')
}
render() {
const { msg } = this.statusMessage();
return ();
}
}
export default compose(
withRouter,
connect(() => ())
)(TestComponent);
由于
状态
是类的一个属性,因此必须按如下方式访问它:
this.constructor.STATUS.SENT
如果将其声明为实例的属性,则可以通过this.status
访问它:
STATUS = {
SENT: 'SENT',
ERROR: 'ERROR',
};
或通过:
由于
状态
是类的一个属性,因此必须按如下方式访问它:
this.constructor.STATUS.SENT
如果将其声明为实例的属性,则可以通过this.status
访问它:
STATUS = {
SENT: 'SENT',
ERROR: 'ERROR',
};
或通过:
为什么不直接将
SENT
和Error
设置到您的状态
像这样:
this.setState({
SEND: 'SENT'
ERROR: 'ERROR'
status: null
});
f = () => {
const { SENT } = this.state
this.setState({status: SENT});
}
在您直接这样设置您的状态之后:
this.setState({
SEND: 'SENT'
ERROR: 'ERROR'
status: null
});
f = () => {
const { SENT } = this.state
this.setState({status: SENT});
}
干杯为什么不直接将
发送
和错误
设置到您的状态
像这样:
this.setState({
SEND: 'SENT'
ERROR: 'ERROR'
status: null
});
f = () => {
const { SENT } = this.state
this.setState({status: SENT});
}
在您直接这样设置您的状态之后:
this.setState({
SEND: 'SENT'
ERROR: 'ERROR'
status: null
});
f = () => {
const { SENT } = this.state
this.setState({status: SENT});
}
干杯