2017-11-08 3 views
0

반작용 여기에 화면입니다 :이상한 행동은 탐색

import React from 'react'; 
import { View, StyleSheet, Image, TouchableOpacity, Text } from 'react-native'; 
import { NavigationActions } from 'react-navigation' 

export default class ContentScreen extends React.Component {  
    render() { 
    const { state } = this.props.navigation; 
    const { code } = state.params.code 
    return(
     <Text>CONTENT GOES HERE: {JSON.stringify(state)}/'{code}'</Text> 
    ) 
    } 
} 

그리고 탐색 호출 :

<TouchableOpacity key={k} onPress={() => {navigate("Content", {code: k})}} style={styles.listing}> 

그리고 여기가 표시되는 내용이다 : 정말

CONTENT GOES HERE: {"params":{"code":"222"},"key":"id-151010...","routeName":"Content"}/'' 

입니다 어느 @ (# $ 이상한.이 값은 분명히 state.params.code에 있으며 JSON 문자열에서 볼 수 있듯이 액세스 할 때 나는 t가 없습니다. Object.values(state.params)Object.keys(state.params)은 예상 결과를 제공합니다 (["code"]["222"]).

그래서, 무슨 일이 벌어지고 있는지에 대한 아이디어가 있습니까? 또는 조사 방법에 대한 아이디어가 있습니까?

답변

1

한 레벨을 너무 깊게 파괴하고있는 것처럼 보입니다.

const { code } = state.params.code; 

은 기본적으로 this.props.state.params.code.code

시도를 찾고 있습니다 :

Const { code } = state.params; 

또는 :

const { navigation: { state: { params: { code } } } } = this.props;