Tengo los siguientes PropTypes :
SmartTable.propTypes = { name: React.PropTypes.string.isRequired, cols: React.PropTypes.array.isRequired, rows: React.PropTypes.array.isRequired, };pero el linter me dice:
Prop type "array" is forbidden , ¿cómo puedo cambiarlo?
Una posible solución para esto (pero creo que no es inteligente):
SmartTable.propTypes = { name: React.PropTypes.string.isRequired, cols: React.PropTypes.arrayOf(React.PropTypes.string), rows: React.PropTypes.arrayOf(React.PropTypes.string), };Una de las soluciones que funcionó para mí:
Si quieres arreglos:
SmartTable.propTypes = { name: PropTypes.string.isRequired, cols: PropTypes.instanceOf(Array), rows: PropTypes.instanceOf(Array), };Para Objetos y Arrays, puede ser:
SmartTable.propTypes = { name: PropTypes.string.isRequired, cols: PropTypes.instanceOf(Object), rows: PropTypes.instanceOf(Array), };Si la matriz de columnas y filas son objetos, me gusta usar la forma, por lo que podría ser algo como esto.
SmartTable.propTypes = { name: PropTypes.string.isRequired, cols: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired, value: PropTypes.string, }) rows: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string.isRequired, value: PropTypes.string, }) };