2016-11-22 2 views
0

나는이 질문에 대한 결과가 0 시간 인 지금 약 1 시간 동안 검색했습니다. 나는 방금 navigator.push을 호출 할 때 사용할 수있는 소품 목록을 찾고 있는데, 특히 호출에서 sceneConfig 소품을 사용할 수는 있지만 전체 목록이 도움이 될 것입니다. 당연히 항상 페이스 북의 문서화는 절반 밖에 구워지지 않았고 아주 모호합니다.Navigator.push로 전달할 수있는 소품

navigator.push은 무엇인가요? 함수에 전달 될 수있는 객체의 모든 키와 값이 필요합니다.

답변

1

Navigator.push을 호출 할 때 원하는 수의 키와 값이있는 객체 인 인수를 제공 할 수 있습니다. 네비게이터는 실제로이 값을 아무 것도 사용하지 않고 콜백 (renderSceneconfigureScene)에 전달됩니다.

push이라는 객체를 가져 오므로 그 내용을 검사하고 렌더링 할보기를 반환 할 수 있습니다.

소품 configureScene는 스택에 다른 경로합니다 (initialRoute 소품, 그리고 이전에 push이라고하며 튀어되지 않은 다른 개체)와 함께, 당신이 push라는 개체를 가져옵니다. 여기에서 Navigator.SceneConfigs에서 반환하여 경로가 어떻게 움직여야하는지 설명 할 수 있습니다.

+0

감사를 사용하여 얻을 수 있지만, 당신도 내 질문을 읽습니까? Navigator가 작동하지 않는 방식으로 'push'함수에 전달할 수있는 것을 알아야합니다. 어떻게 작동하는지에 대한 많은 문서가 있습니다. 실제 사용법에 대한 문서는 없습니다. –

+0

@RyanWilson 질문을 읽었으며 대답하려고합니다. 푸시 기능에 전달할 수있는 것은 : * 무엇이든. 그것은 객체를 필요로합니다. 특별한 키가 없습니다. 네비게이터는'push' 함수에 대한 다른 매개 변수를 기대하지 않습니다. 네비게이터에 사용할 데이터가 무엇이든 객체를 전달하면 무엇을 렌더링할지 알 수 있습니다. 당신이 묻고있는'sceneConfig' 소품은 존재하지 않습니다. 내 대답에 설명 된'configureScene' 소품이 있습니다. –

0

다음 장면에 속성을 전달하려고하거나 장면 사이에 다른 장면 전환을 설정하려고합니까?

이전의 경우 객체를 navigator.push에 전달하면 navigator.state.routeStack에서 값에 액세스 할 수 있습니다. 그러면 navigator.state.routeStack에서 모든 현재 경로와 이름 및 전달 된 다른 속성의 배열을 제공합니다. push 객체입니다.

장면 사이에 다른 장면 전환을 설정하려는 경우 어디에서든지 사용하고 configureScene = {route, routeStack) =>} 안에 있어야한다고 생각합니다. if (와 같은 옵션을 제공 할 수 있어야합니다. route.name === 'Welcome') {return Navigator.SceneConfigs.FloatFromRight}

이것이 정확히 당신이 찾고 있던 것인지 확실하지 않습니다!

이 같은
+0

방금 ​​탐색하는 방법을 묻는다면 push 문에서 다음 경로의 이름을 전달하면됩니다. navigator.push ({name : "Login Page"}); renderScene에서 if (route.name) {return } –

+0

수정 : (route.name === "로그인 페이지") ** –

3

당신은

this.props.navigator.push({ 
    title: "NextPage", 
    component: NextPage, 
    passProps: {username: this.state.username, password: this.state.password}, 
}); 

를 전달할 수와 NextPage에서 당신은 응답이

constructor(props) { 
    super(props); 
    this.state = { 
     username: this.props.username, 
     password: this.props.password 
    }; 
}