Tengo un problema con el mapa, no entiendo porque me da el error no se pueden leer propiedades de nulo, los elementos que estan en el arreglo tampoco presentan nulos asi que no entiendo por que me da este error.
state = { tableHead: [ '', 'Lunedi', 'Martedi', 'Mercoledi' ], tableData: { value: [ [{ name: 'David', event1: { test: 'prova', test1: 'prova2' }}], [{ name: 'Lorenz', event1: { test: ['2', 'test'] }, event2: '3', event3: '4' }], [{ name: 'Victor', event1: { test: ['2', 'test'] }, event2: '3', event3: '4' }], [{ name: 'Franklyn', event1: { test: ['2', 'test'] }, event2: '3', event3: '4' }], ], },este es mi renderizado de componentes: <Table borderStyle={{ borderColor: 'transparent' }}>
<Row data={this.state.tableHead} style={styles.head} textStyle={styles.text} /> { this.state.tableData.value.map((rowData, index) => { console.log('test', rowData), <TableWrapper key={index} style={styles.row}> { rowData.map((item, index) => { console.log('item', item.name), <Text textStyle={styles.text}>{item.name} </Text> }) } </TableWrapper> }) } </Table>Es simple, solo agrega ? antes del mapa. Ejemplo :
this.state.tableData?.value?.map [your code] rowData?.map [your code]WillMount
state = undefined;Hizo el montaje:
state = <your data>;Su función de representación se ejecuta antes de que el estado tenga valor
La solución es: primero debe verificar los datos
this.state.tableData?.value?.map rowData?.mapVerifique esto: Encadenamiento opcional