λ°μ΄ν°λ² μ΄μ€μμ κ²μλ λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ μ₯λ©΄μ ν λ§λ‘ μ§μ νκ³ μΆμ΅λλ€. λμΌν μ₯λ©΄μμ μ¬μ©μκ° μ€μ μμ ꡬμ±ν λ΄μ©μ λ°λΌ λΆνμ, 보λΌμ, νλμ λ±μ νμ λͺ¨μμ λ λλ§ν μ μμ΅λλ€.
μ₯λ©΄μ΄ νΈμΆλκ³ μ₯λ©΄μ μμ±νλ λ° μ¬μ©λλ λ°μ΄ν°κ° λ‘λλ λκΉμ§ νμ λͺ¨μ λ°°κ²½μμ΄ μ΄λ»κ² λ μ§ λͺ¨λ¦ λλ€. λͺ¨λ μ₯λ©΄ λ Όλ¦¬λ₯Ό νλλ‘ μ μ§νκΈ° μν΄ μ₯λ©΄ μ체μ μλͺ μ£ΌκΈ° νν¬μ μμ±νλ κ²μ μ νΈν©λλ€. μ¬κΈ°μ κΈ° ν©μ΄μ Έ μ기보λ€λ μ₯μμ.
<Scene key="scene-name" />
κ° μ μλ λΌμ°ν° μμ€μμ 미리 μ μν νμ μμ΄ μ₯λ©΄ μ체μμ, μ¦ λ°μ΄ν°λ₯Ό κ°μ Έμ¨ ν μλͺ
μ£ΌκΈ° νν¬ λ΄μμ λμ μΌλ‘ navigationBarStyle
λ₯Ό μ€μ ν μ μμ΅λκΉ?
λ§μ°¬κ°μ§λ‘, navBarμμ λ°μ΄ν°μ μμ‘΄νλ μμ
μΌλ‘ μ‘μ
μνΈλ₯Ό λ λλ§νλ λμ μ€λ₯Έμͺ½ λ²νΌμ μ¬μ©νλ €κ³ ν©λλ€. μκ°ν΄λ³΄μΈμ... Follow userABC123
; Block userABC123
; λ±. μ¬μ©μ μ§μ μμ
μνΈλ₯Ό μμ±νκΈ° μν΄ μλͺ
μ£ΌκΈ° νν¬(μ¦, λ°μ΄ν°λ₯Ό κ°μ Έμ¨ ν) λ΄μμ onRight
ν¨μλ₯Ό λμ μΌλ‘ μμ±νλ λ°©λ²μ΄ μμ΅λκΉ?
μ, Actions.refresh()λ₯Ό ν΅ν΄ μνμ μ
λ°μ΄νΈν μ μμ΅λλ€. μ:
Actions.refresh({ renderRightButton: this._renderRightButton });
https://github.com/aksonov/react-native-router-flux/blob/master/docs/OTHER_INFO.md
@sheparddw κ° λ§μ΅λλ€. κ°μ λ°©λ²μΌλ‘ navigationBarStyle
λ₯Ό Actions.refresh({navigationBarStyle ... })
μ
λ°μ΄νΈν μ μμ΅λλ€.
Actions.refresh() νΈμΆμ μ΄λμ λ£μ΄μΌ ν©λκΉ?
λ΄ νλμ€ μμ
μ μλ‘ κ³ μΉ¨ νΈμΆμ λ£μΌλ©΄(μ€νμΌμ΄ λ³κ²½λμ΄μΌ ν λ νΈμΆλ¨) νμ¬ μ νν νμ νμ λͺ¨μ μ€νμΌλ§ μ
λ°μ΄νΈν©λλ€. νμ μ ννλ©΄ μ΄μ μ€νμΌλ‘ λμκ°λλ€.
νμ μ νν λλ§λ€ μ
λ°μ΄νΈλλ μ μΌν κ΅¬μ± μμλ λ΄ ν λͺ¨μμ΄λ―λ‘ componentWillReceiveProps
λλ componentWillUpdate
μλ λ΄ Tabbar κ΅¬μ± μμμ μλ‘ κ³ μΉ¨μ μλνμ΅λλ€. κ·Έλ° λ€μ μλ‘ κ³ μΉ λλ§λ€ Tabbarκ° μ μνμ κ°μ Έμ€κ³ λ€μ μλ‘ κ³ μ³μ§κΈ° λλ¬Έμ 무ν μ¬κ·κ° λ°μν©λλ€.
@aksonov μ΄κ²μ λν΄ μΈκΈνμκ² μ΅λκΉ?
λ΄ κ΅¬μ± μμμμ Actions.refreshλ₯Ό μ¬μ©νκ³ μμμ§λ§ μ΄κ²μ΄ μ₯λ©΄μ μμ±μ λμ μΌλ‘ μ λ°μ΄νΈνλ μ¬λ°λ₯Έ λ°©λ²μ΄λΌκ³ μκ°νμ§ μμ΅λλ€. μ¬κΈ° λ΄ λ°κ²¬μ΄ μμ΅λλ€.
// μ°Έκ³ : Componentλ₯Ό νμ₯νλ es6 ν΄λμ€λ₯Ό μ¬μ©νκ³ μμ΅λλ€.
Actions.refresh({title: 'drawer'}); μμ±μμμ λ€μκ³Ό κ°μ΄ λΆνν©λλ€.
κ²½κ³ : setState(...): κΈ°μ‘΄ μν μ ν μ€μλ μ λ°μ΄νΈν μ μμ΅λλ€(μ:
render
λλ λ€λ₯Έ κ΅¬μ± μμμ μμ±μ λ΄μμ). λ λ λ©μλλ propsμ stateμ μμν ν¨μμ¬μΌ ν©λλ€. μμ±μ λΆμμ©μ μν° ν¨ν΄μ΄μ§λ§componentWillMount
λ‘ μ΄λν μ μμ΅λλ€.
μ΄κ²μ λ¨μ§ κ²½κ³ μΌ λΏμ΄λ©° μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€. κ·Έλ¬λ λΆμμ©μ΄ μμ΅λλ€. μ΄ μμ μ μνν λ render ν¨μκ° λ λ² νΈμΆλ©λλ€.
μ΄κ²μ componentWillMount ν¨μμ μ§μ λ°°μΉνλ©΄ reactλ κ²½κ³ λ₯Ό λ°ννμ§ μμ§λ§ renderλ λ λ² νΈμΆλ©λλ€.
μμ±μμμ μ΄λ κ² νλ©΄:
this.props.navigationState.title = 'test';
κ·Έλ¬λ©΄ λ°μμ΄ λΆννμ§ μκ³ μ°λ¦¬μ navigationBar μ λͺ©μ΄ ν μ€νΈλ κ²μ λλ€. render λ©μλλ ν λ²λ§ νΈμΆλ©λλ€. onRight, onRightTitle λ±μ νΈμΆνλ κ²½μ°μλ λ§μ°¬κ°μ§μ λλ€. μ΄μ μ΄ https://facebook.github.io/react/docs/jsx-spread.html#mutating -props-is-bad mutating props is badμ λ°λ₯Έ κ²μ λλ€.
λ°λΌμ λμ propsλ₯Ό λ³κ²½νκ±°λ Actions.refreshλ₯Ό νΈμΆνμ¬ κ΅¬μ± μμλ₯Ό λ λ² λ λλ§νλ κ²κ³Ό κ°μ λΆμμ©μ΄ μμ μ μμ΅λλ€. μμ΄λμ΄κ° μμ΅λκΉ?
μ΄μ λν μ
λ°μ΄νΈκ° μμ΅λκΉ? μ¬μ©μ μνμ λ°λΌ navigationBarStyleμ λμ μΌλ‘ μ€μ νλ κ²κ³Ό λκ°μ λ¬Έμ κ° μμ΅λλ€. νΉν νμ λͺ¨μμ λ°°κ²½μμ λ³κ²½νλ €κ³ ν©λλ€. Actions.refresh({navigationBarStyle ... })
λ μλνμ§ μμ΅λλ€.
<Scene key="myScene"
component={myComponent}
renderTitle={() => { return <NavigationBarTitle title="My Title"/>}}
sceneStyle={styles.scene}
navigationBarStyle={[styles.navBar, this.props.theme.backgroundColor]}
<- μνκ° λ³κ²½λ λ backgroundColorκ° μ
λ°μ΄νΈλμ§ μμ
onRight={this.pushNoticeFilter}/>
νμ λͺ¨μμ μ¬μ©μ μ§μ μ λͺ© κ΅¬μ± μμμμ λ€λ₯Έ μ λͺ©κ³Ό μ€νμΌμ λμ μΌλ‘ λ λλ§νμ§λ§ navigationBarStyleμ μν λ³κ²½μ μμ νμ§ μμ΅λλ€.
μ΄κ²μ "Key myScene is already defined!"λ₯Ό μΈμνλ μ₯λ©΄μ μ¬λ λλ§μ 무μνλ RNRFμ κ΄λ ¨μ΄ μμ΅λκΉ?
@mikaelrosquist @compojoom μλ²μμ κ°μ Έμ¨ "ν λ§"λ₯Ό μ μ₯νκΈ° μν΄ reduxλ₯Ό μ¬μ©νκ³ μμ΅λλ€. λνΌ κ΅¬μ± μμλ₯Ό λ§λ€κΈ° μν΄ λμ νμ λͺ¨μ μ€νμΌμ μννλ κ°μ₯ μ¬μ΄ λ°©λ²μ λλ€.
import React, { Component } from 'react';
import { NavBar } from 'react-native-router-flux';
import Variables from 'market/app/styles/base';
class CircllyNavBar extends Component {
render() {
return (
<NavBar {...this.props} navigationBarStyle={{ backgroundColor: Variables.BRAND_PRIMARY() }} />
)
}
}
export default CircllyNavBar;
<Scene key="search_form" title="Search"
component={SearchForm}
navBar={CircllyNavBar} />
@OhaiBBQ κ°μ¬ν©λλ€! μλ²½νκ² μλν©λλ€! π
@mikaelrosquist λ¬Έμ μμ΅λλ€. λ΄κ° Reactλ₯Ό μ²μ μ νμ λ ν₯λ―Έλ‘κ² λ°κ²¬ν λ λ€λ₯Έ μ μ React κ΅¬μ± μμμ defaultProps
ν΄λμ€ μμ±μ μ¬μ©νμ¬ RNRF μ₯λ©΄μ κΈ°λ³Έ μνμ μ€μ ν μ μλ€λ κ²μ
λλ€.
class Scene extends RNRFScene { }
Scene.defaultProps = {
navBar: CircllyNavBar
};
κ°μ₯ μ μ©ν λκΈ
μ, Actions.refresh()λ₯Ό ν΅ν΄ μνμ μ λ°μ΄νΈν μ μμ΅λλ€. μ:
Actions.refresh({ renderRightButton: this._renderRightButton });
https://github.com/aksonov/react-native-router-flux/blob/master/docs/OTHER_INFO.md