Utilizo el siguiente código para establecer accesorios predeterminados en un componente React pero no funciona. En el render()
método, puedo ver que la salida "accesorios indefinidos" se imprimió en la consola del navegador. ¿Cómo puedo definir un valor predeterminado para los accesorios del componente?
export default class AddAddressComponent extends Component {
render() {
let {provinceList,cityList} = this.props
if(cityList === undefined || provinceList === undefined){
console.log('undefined props')
}
...
}
AddAddressComponent.contextTypes = {
router: React.PropTypes.object.isRequired
}
AddAddressComponent.defaultProps = {
cityList: [],
provinceList: [],
}
AddAddressComponent.propTypes = {
userInfo: React.PropTypes.object,
cityList: PropTypes.array.isRequired,
provinceList: PropTypes.array.isRequired,
}
reactjs
ecmascript-6
Joey Yi Zhao
fuente
fuente
react
/native
doc y no pude encontrarlos, ¿dónde está el documento para eso?static
variables de clase son, tiene sentido, así que sugiero leer sobre ellas en MDN . Básicamente, la sintaxis en la documentación es equivalente a esto porque ambos están agregando información sobre los accesorios a la clase en sí, no a las instancias individuales.Primero debe separar su clase de las extensiones adicionales, por ejemplo, no puede extenderlas
AddAddressComponent.defaultProps
enclass
lugar de moverlas hacia afuera.También le recomendaré que lea sobre el ciclo de vida de Constructor y React: consulte Especificaciones de componentes y Ciclo de vida
Esto es lo que quieres:
fuente
constructor
ycomponentWillReceiveProps
? Me parece que el OP simplemente olvidó un paréntesis de cierre para su declaración de clase.También puede usar la asignación de Destructuring.
Me gusta este enfoque ya que no necesitas escribir mucho código.
fuente
use un valor predeterminado estático como:
Tomado de: https://github.com/facebook/react-native/issues/1772
Si desea verificar los tipos, vea cómo usar PropTypes en la respuesta de treyhakanson o Ilan Hasanov, o revise las muchas respuestas en el enlace de arriba.
fuente
Puede configurar los accesorios predeterminados utilizando el nombre de la clase como se muestra a continuación.
Puede usar la forma recomendada de React desde este enlace para obtener más información
fuente
Para un accesorio de tipo de función, puede usar el siguiente código:
fuente
Si está utilizando un componente funcional, puede definir valores predeterminados en la asignación de desestructuración, de la siguiente manera:
fuente
fuente