ReactNative Hooks写法抽离子view

  const itemTop = (itemName: any, itemIcon: any) => {
    return <View style={[$row, $flex1, { padding: 8, backgroundColor: '#f3f6ff', borderRadius: 10, }]}>
      <IconFont size={65} name={itemIcon} />
      <View style={[$justifyAround, $flex1, { marginLeft: 20, }]}>
        <Text style={[{ textAlign: 'right', color: theme.primary.color }, $fontSize16, $fontWeight]} >99</Text>
        <Text style={[{ textAlign: 'right', color: '#7a869a' }, $fontSize12]}>{itemName}</Text>
      </View>
    </View>
  }

  const IItemTop = (info: any) => {
    return <View style={[$row, $flex1, { padding: 8, backgroundColor: '#f3f6ff', borderRadius: 10, }]}>
      <IconFont size={65} name={info.itemIcon} />
      <View style={[$justifyAround, $flex1, { marginLeft: 20, }]}>
        <Text style={[{ textAlign: 'right', color: theme.primary.color }, $fontSize16, $fontWeight]} >99</Text>
        <Text style={[{ textAlign: 'right', color: '#7a869a' }, $fontSize12]}>{info.itemName}</Text>
      </View>
    </View>
  }


  const HeadTop = () => {
    return <View>
      <View style={[$row, $flex1, { marginTop: 36, marginLeft: 20, marginRight: 20 }]}>
        {/* {itemTop('In', 'menuIn')} */}
        <IItemTop itemName={'In'} itemIcon={'menuIn'} />
        <View style={{ width: 10 }} />
        {itemTop('Received', 'menuReceived')}
      </View>

      <View style={[$row, $flex1, { marginTop: 16, marginLeft: 20, marginRight: 20 }]}>
        {itemTop('Sorted', 'menuSorted')}
        <View style={{ width: 10 }} />
        {itemTop('Check In', 'menuDelivered')}

      </View>

      <Text>Operation</Text>
    </View>

  }

两种写法