The package is both Android and iOS compatible.
 
   
Have a look at the examples below! :-)
- Install as dependency:
// yarn
yarn add react-native-table-optimize
// or npm
npm i react-native-table-optimize- Add needed components:
import { TableWrap, TableHead, TableBody, TableRow } from 'react-native-table-optimize';| Prop | Default | Type | Description | 
|---|---|---|---|
| children | - | React.ReactNode | Children. Should be of type Section | 
| width | 100% | string | Length of percentage table with screen size | 
| scrollHorizontal | false | bool | Allow horizontal dragging of the table if the length of the board exceeds 100% | 
| Prop | Default | Type | Description | 
|---|---|---|---|
| titleTextStyle | - | Text.propTypes.style | These styles will be applied to the title text table. | 
| itemStyle | - | View.propTypes.style | These styles will be applied to the box (row - col) in table. | 
| dataTitleHead | - | array | An array of text corresponding to each column heading | 
| dataSpacing | - | array | A text array of percentage distances for each column | 
| Prop | Default | Type | Description | 
|---|---|---|---|
| children | - | React.ReactNode | Children. Should contains the rows of the table | 
| isScroll | false | bool | Allow scrolling up and down and fix the table title | 
| bodyHeight | 300 | number | Table content height | 
| bodyStyle | _ | View.propTypes.style | These styles will be applied to the content of table | 
| onRefreshTable | _ | func | Listen to refresh table event | 
| Prop | Default | Type | Description | 
|---|---|---|---|
| width | 100% | React.ReactNode | Length of percentage table with screen size | 
| textStyle | _ | Text.propTypes.style | These styles will be applied to the row text table. | 
| itemStyle | _ | View.propTypes.style | These styles will be applied to the item row table. | 
| dataRow | _ | array | An array of text corresponding to each column row | 
| dataSpacing | _ | array | A text array of percentage distances for each row | 
| onHandleItemRow | _ | func | Listen to onPress event of item | 
import { TableWrap, TableHead, TableBody, TableRow } from 'react-native-table-optimize';
export default function App() {
  return (
      <ScrollView>
          <Text style={{textAlign: 'center', paddingVertical: 30, marginTop: 30, fontWeight: '700', fontSize: 20}}>Table Native Table Optimize</Text>
          <TableWrap width='125%' scrollHorizontal={true}> 
              <TableHead
                  dataSpacing={dataSpacing}
                  dataTitleHead={dataTitleTHead}
                  itemStyle={{
                      backgroundColor: THEME.PRIMARY_COLOR_LIGHT,
                      padding: 10,
                      borderWidth: 1,
                      borderColor: THEME.PRIMARY_COLOR_DARK,
                  }}
                  titleTextStyle={{
                      textAlign: 'center',
                      color: THEME.BLACK_COLOR,
                      fontWeight: '700'
                  }}
              />
              <TableBody
                  isScroll={true}
                  bodyHeight={465}
                  onRefreshTable={() => {
                      Alert.alert('On RefreshDataTable')
                  }}
              >
                  {
                      dataRow.map((item, idx) => {
                          let itemRow = [
                              item.content1,
                              item.content2,
                              item.content3,
                              item.content4,
                              item.content5,
                          ]
                          return (
                              <TableRow 
                                  key={idx}
                                  width='100%' 
                                  dataSpacing={dataSpacing}      
                                  dataRow={itemRow}    
                                  textStyle={{
                                      textAlign: 'center',
                                      color: THEME.BLACK_COLOR
                                  }}
                                  itemStyle={{
                                      backgroundColor: THEME.WHITE_COLOR,
                                      padding: 10,
                                      borderWidth: 1,
                                      borderColor: THEME.PRIMARY_COLOR_LIGHT,
                                  }}         
                                  onHandleItemRow={() => Alert.alert('On Touch Row')}            
                              />
                          )
                      })
                  }
              </TableBody>
          </TableWrap>
      </ScrollView>
  );
}