React-native-router-flux: Sarankan fitur baru untuk plugin ini. Dapat menambahkan prototipe 'onPress' ke adegan

Dibuat pada 20 Apr 2016  ·  3Komentar  ·  Sumber: aksonov/react-native-router-flux

Versi: kapan

  • reaksi-asli-router-flux v3.24.0
  • reaksi asli v0.24.0

    Fitur baru

Saya ingin menambahkan tindakan ke tab, dan seperti ini:
<Scene key="main" tabs={true} ...> <Scene key="AAAA" component={AAAPage} .../> <Scene key="Button" onPress={()=> ... } .../> <Scene key="CCCC" component={CCCPage} .../> </Scene>
scence 'button' dapat menambahkan protipe onPress untuk mengikat suatu tindakan.

Komentar yang paling membantu

perbaiki fungsi react-native-router-flux/src/TabBar.js onSelect.

...
export default class extends Component {
    onSelect(el){
        const state = this.props.navigationState;
        if (!Actions[el.props.name]){
            throw new Error("No action is defined for name="+el.props.name+" actions:"+JSON.stringify(Object.keys(Actions)));
        }

        // rewrite Actions[el.props.name]();
        if (!el.props.modal) {
            Actions[el.props.name]();
        }
        else {
          el.props.onPress();
        }
    }

...

bereaksi file asli terlihat seperti ini:

        <Scene key="main" tabs={true}>
            ...
            <Scene key="OtherPage" component={OtherPageModal} modal={true} onPress={()=>alert("Test")} ... />
            ...
        </Scene>

Semua 3 komentar

IMO ini di luar cakupan proyek ini. Ini adalah tumpukan navigasi.

Juga menambahkan fitur baru ini dapat secara signifikan mengganggu panggilan onPress dari komponen hilir atau dapat menyebabkan penundaan dalam tampilan yang kompleks; misalnya tampilan menggunakan ListView

Anda dapat melakukannya hanya dengan menambahkan onPress di tampilan atas setiap halaman Anda.

perbaiki fungsi react-native-router-flux/src/TabBar.js onSelect.

...
export default class extends Component {
    onSelect(el){
        const state = this.props.navigationState;
        if (!Actions[el.props.name]){
            throw new Error("No action is defined for name="+el.props.name+" actions:"+JSON.stringify(Object.keys(Actions)));
        }

        // rewrite Actions[el.props.name]();
        if (!el.props.modal) {
            Actions[el.props.name]();
        }
        else {
          el.props.onPress();
        }
    }

...

bereaksi file asli terlihat seperti ini:

        <Scene key="main" tabs={true}>
            ...
            <Scene key="OtherPage" component={OtherPageModal} modal={true} onPress={()=>alert("Test")} ... />
            ...
        </Scene>

sempurna!!!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

kirankalyan5 picture kirankalyan5  ·  3Komentar

jgibbons picture jgibbons  ·  3Komentar

luco picture luco  ·  3Komentar

xnog picture xnog  ·  3Komentar

wootwoot1234 picture wootwoot1234  ·  3Komentar