React-native-router-flux: рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдВред рджреГрд╢реНрдп рдореЗрдВ 'рдСрдирдкреНрд░реЗрд╕' рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдЕрдкреНрд░реИрд▓ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: aksonov/react-native-router-flux

рд╕рдВрд╕реНрдХрд░рдг

  • рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА-рд░рд╛рдЙрдЯрд░-рдлреНрд▓рдХреНрд╕ v3.24.0
  • рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА v0.24.0

    рдирдпреА рд╡рд┐рд╢реЗрд╖рддрд╛

рдореИрдВ рдЯреИрдм рдореЗрдВ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕ рддрд░рд╣:
<Scene key="main" tabs={true} ...> <Scene key="AAAA" component={AAAPage} .../> <Scene key="Button" onPress={()=> ... } .../> <Scene key="CCCC" component={CCCPage} .../> </Scene>
рд╕реБрдЧрдВрдз 'рдмрдЯрди' рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдСрдирдкреНрд░реЗрд╕ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡-рд░рд╛рдЙрдЯрд░-рдлреНрд▓рдХреНрд╕/src/TabBar.js рдСрди рд╕реЗрд▓реЗрдХреНрдЯ рдлрдВрдХреНрд╢рди рдХреЛ рдареАрдХ рдХрд░реЗрдВред

...
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();
        }
    }

...

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИрдВ:

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

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдИрдПрдордУ рдпрд╣ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред рдпрд╣ рдПрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕реНрдЯреИрдХ рд╣реИред

рд╕рд╛рде рд╣реА рдЗрд╕ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдШрдЯрдХреЛрдВ рд╕реЗ рдкреНрд░реЗрд╕ рдХреЙрд▓реНрд╕ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрд╛рдзрд╛ рдЖ рд╕рдХрддреА рд╣реИ рдпрд╛ рдЬрдЯрд┐рд▓ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ListView рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рджреГрд╢реНрдп

рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рджреГрд╢реНрдп рдореЗрдВ onPress рдЬреЛрдбрд╝рдХрд░ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд░рд┐рдПрдХреНрдЯ-рдиреЗрдЯрд┐рд╡-рд░рд╛рдЙрдЯрд░-рдлреНрд▓рдХреНрд╕/src/TabBar.js рдСрди рд╕реЗрд▓реЗрдХреНрдЯ рдлрдВрдХреНрд╢рди рдХреЛ рдареАрдХ рдХрд░реЗрдВред

...
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();
        }
    }

...

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИрдВ:

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

рдЙрддреНрддрдо!!!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

tonypeng picture tonypeng  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rafaelcorreiapoli picture rafaelcorreiapoli  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

willmcclellan picture willmcclellan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

YouYII picture YouYII  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sylvainbaronnet picture sylvainbaronnet  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ