React Native 페이지 점프, 전송 및 콜백
선언:
나는 조용한 iOS 프로그래머였는데, 그 달은 어두웠고, 회사 5층에는 나와 매니저 두 사람만 있었고, 나는 영화 《 사적 》 을 보고 있었다.갑자기 누군가가 내 어깨를 만지는 것 같아서 갑자기 국화가 팽팽해지더니 갑자기 고개를 돌렸다. 그래, 사장인 줄 알았어.저를 찾아가서 한 무더기 말했는데 대체로 앞으로 리액트 네이티브로 iOS와 안드로이드를 개발해 보려고 했습니다. 제가 좀 싫었지만 누가 저를 동생이라고 했겠어요. 이 공부를 시작할 수밖에 없었어요.자, 잡담은 끝났고, 다음은 주제로 들어갑니다. 오늘 이야기할 것은 바로 React Native 페이지의 이동, 전가와 리셋입니다.
본문:
참고:
SampleComponent.js
등록 프로그램 입구, FirstPageComponent.js
페이지 1, SecondPageComponent.js
페이지 2와 관련된다.Let's do it
먼저 다음 코드를 분석합니다: SampleComponent.js
import React from 'react';
import {
View,
Navigator,
AppRegistry
} from 'react-native';
import FirstPageComponent from './FirstPageComponent';
export default class SampleComponent extends React.Component {
render() {
let defaultName = 'FirstPageComponent';
let defaultComponent = FirstPageComponent;
return (
{
return Navigator.SceneConfigs.HorizontalSwipeJumpFromRight;
}}
renderScene={(route, navigator) => {
let Component = route.component;
// routes.params key props , this. props.id
//navigator
return
}}
/>
);
}
}
FirstPageComponent.js:
//FirstPageComponent.js
import React from 'react';
import {
View,
Navigator
} from 'react-native';
import SecondPageComponent from './SecondPageComponent';
export default class FirstPageComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
id: 2,
user: null,
}
}
_pressButton() {
let _this = this;
const { navigator } = this.props;
// props.navigator? :
//
// navigator props
if(navigator) {
navigator.push({
name: 'SecondPageComponent',
component: SecondPageComponent,
// params
: { JSON.stringify(this.state.user) }
);
}else {
return(
ID { this.state.id }
);
}
}
}
SecondPageComponent.js:
const USER_MODELS = {
1: { name: 'mot', age: 23 },
2: { name: ' ', age: 25 }
};
import React from 'react';
import {
View,
Navigator
} from 'react-native';
import FirstPageComponent from './FirstPageComponent';
export default class SecondPageComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
id: null
}
}
componentDidMount() {
// FirstPageComponent : id
this.setState({
id: this.props.id
});
}
_pressButton() {
const { navigator } = this.props;
if(this.props.getUser) {
let user = USER_MODELS[this.props.id];
//
this.props.getUser(user);
}
if(navigator) {
// ,
navigator.pop();
}
}
render() {
return(
: id={ this.state.id }
);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.