2017-09-30 1 views
0

나는 React Native와 함께 Redux를 사용하고 있으며 키를 사용하여 redux 저장소 배열의 특정 인덱스에 액세스하는 데 문제가 있습니다.하위 네이티브를 통해 redux 저장소에 액세스하기 네이티브 하위

다음은 내가하려는 일에 대한 대략적인 아이디어입니다.상태의 reduxStore에 액세스하는 ParentComponentid, title의 배열을 포함하는 data이 있습니다.

class ParentComponent extends Component { 

    dataArray() { 
    return Object.keys(this.props.data).map(key => this.props.data[key]) 
    } 
    /* 
    Consider the dataArray has elements which are an array of `id` & `title` 
    */ 

    render() { 
    return (
     <ScrollView style={styles.fragmentContainer}> 
     {this.dataArray().map((element) => { 
      return 
      <ChildComponent 
      key={element.id} 
      id={element.id} /> 
     })} 
     </ScrollView> 
    ) 
    } 

} 

이제 I은 ChildComponent 통해 상기 어레이의 각 요소의 액세스 title 싶어. 내가 액세스하려고하는 것입니다 :

class ChildComponent extends Component { 
    render(
    return (
     <View> 
     <Text>{this.props.data[this.props.id].title}</Text> 
     </View> 
    ) 
) 
} 

분명히 위의 작동하지 않습니다. 그것은 내가하려는 일에 대한 아이디어 일뿐입니다. 주어진 key을 사용하여 redux store data에 액세스 할 수 없습니다. 어떻게 접근 할 수 있는지 알아 내려했지만 아무런 해결책도 찾지 못했습니다. ChildComponent의 상태에 액세스하는 내 방법이 잘못되었습니다. 누구든지 나를 이걸 얻을 수있는 방법을 가르쳐 줄 수 있니?

참고 : 구체적으로 ChildComponent을 통해 상태에 액세스하려고합니다. 그것이 어떻게 작동해야하는지가 아니라면, 다른 방법으로 또는 제게 이것이 어떻게되어 져야 하는지를 설명하는 문서를 참조하십시오.

답변

0

하위 구성 요소가 클래스 구성 요소 인 경우 connect을 가져오고 감속기를 mapStateToProps에 설정하고 export에 바인딩 할 수 있습니다.

감속기 지주 값을 부모 구성 요소에서 하위 구성 요소로 보낼 수도 있습니다. 이 같은 것 <Child value={this.props.myData} />. 이제 자녀 구성 요소에서 this.props.value이라고 부를 수 있습니다. 이 방법을 사용하는 경우 자녀가 수업 구성 요소인지 여부는 중요하지 않습니다. 하위 구성 요소 생성시 인스턴스 value도 잊지 마십시오.

는 도움이되기를 바랍니다.

0

우선 부모님과 자식에게서 data 소품을 전달하는 것을 보지 못합니다. 따라서 하위 구성 요소에 this.props.data을 가져올 수 없습니다.

나는 왜 titleid을 전달한 것처럼 소품으로 전달할 수 있는지 이해할 수 없습니다.

특별히 redux store에 액세스하려면 connectreact-redux에서 사용하십시오.

여기에 링크가 있습니다. http://redux.js.org/docs/basics/UsageWithReact.html