2017-12-23 24 views
1

내 기본 React Navigation 탭 화면에서 화면의 제목을 MobX 상점의 값으로 설정하고 싶습니다. 이 작업을 수행하는 유일한 방법은 매개 변수를 통해 값을 전달하는 것입니다. 따라서 '제목 :'필드에 MobX 값을 입력 할 수는 없지만 '기본'화면이므로 아무 것도 지나치지 않아.MobX 저장소 값을 사용하여 React Navigation 화면 제목을 동적으로 설정하는 방법은 무엇입니까?

기본 화면 :

export default class HomeScreen extends Component { 
    static navigationOptions = ({ navigation, screenProps }) => ({ 
    title: `This is ${navigation.state.params.title}`, 

나는 componentWillMount 동안 setParams의 사용을 시도했지만, CONSOLE.LOG는 너무 늦게 일어나는해야 나를 보여주고, 그래서 제목에 빈 개체를 가져옵니다.

어떻게하면 좋을까요?

답변

0

오늘 같은 문제가 있었지만 알아 냈습니다.

navigationOptions을 개체 대신 함수로 변경하면 상태 변경시 다시 평가됩니다. 설명서에 설명 된 바와 같이 https://reactnavigation.org/docs/intro/headers#Header-interaction-with-screen-component의 수정 사항은 다음과 같습니다.

static navigationOptions = ({ navigation }) => { 
    const { params = {} } = navigation.state; 
    const title = `This is ${params.title}`; 
    return { title }; 
};