自訂UI Component

ReactNative 可自訂義UI Component供重覆使用

例如想要自訂一個Page的UI Component,NavBar和內容可讓使用者自訂:

'use strict';

import React, { Component } from 'react';
import { Container,Button,Content } from 'native-base';
import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view'

class Page extends Component {

 render() {
      return (
        <Container backgroundColor="#F0F0F0">
        {this.props.NavBar}
        <Content scrollEnabled={true} style={{marginTop: 64,}}>
        <KeyboardAwareScrollView>
           {this.props.children}
        </KeyboardAwareScrollView>
        </Content>
        </Container>   
    );
  }
}


module.exports = Page;

實際使用:

import Page from '../component/Page';
//...

<Page NavBar={<NavigationBar/>}>
<Text>Test Content</Text>    
</Page>

詳解:

Page裡有兩種自訂內容的方式

一.引用自訂組件

在Page中加上Navbar={},然後在裡面引用自訂的組件(如<NavigationBar/>)即可

<Page NavBar={<NavigationBar/>}>

在UI Component內打上{this.props.NavBar}即可接收自訂的組件

<Container backgroundColor="#F0F0F0">
{this.props.NavBar}
//...

二.引用內容

夾在<page>與</page>中間

<Page>
//內容
</Page>

在UI Component內以{this.props.children}接收即可

<Page>
<Text>Test Content</Text>    
</Page>

results matching ""

    No results matching ""