API에서로드하기 위해 Redux의 정보가 필요한 구성 요소가 있습니다. 이 상황을 다루는 가장 효율적인 방법을 배우고 싶습니다. Redux를 사용하여 API에서 데이터를 올바르게로드
은 (간체) 설명하기 :class someComponent extends React.Component{
constructor(props){
super(props)
this.state = {data: null}
}
componentWillMount(){
if(this.props.reduxstate){ //api needs reduxstate
api(`/someroute?q1=reduxstate')
.then((data)=>this.setState({data:data})
}
}
render(){
return(
<div>
<AnotherComponentNeedingAPIData data={data} />
</div>
)
}
function mapStateToProps(state){
return{
state.reduxstate
}
}
이 명확하게하기 위해, 여기에 오류가 API를 결코로드 그래서 componentWillMount 안타 때 reduxstate를 사용할 수없는 것입니다. 나는이 오류에 관심이 없다. 정확한 패턴이 위의 상황에 있어야한다.
나는 원래이 문제에 대해 여러 차례 반복했다. 이 문제를 해결할 방법이 하나 이상 있다는 것을 알고 있지만 올바른/가장 간단한 방법이 누락 된 것처럼 느껴집니다. 위의 일반적인 패턴은 하위 구성 요소를 무국적으로 유지할 수 있도록 내 선호하는 시작점입니다.
내가 뭘 잘못하고 있는지 (그리고이 문제에 대해 어떻게 올바르게 생각해야합니까?)?
편집 : componentWillRecieveProps를 사용하기로 결정했습니다 ... 괜찮습니다. 그러나 구성 요소의 두 위치에 데이터를로드하는 것과 관련하여 적절한 접근 방식이 아닙니다.
좋습니다. 그래서 여기서 문제는 실제로 두 가지 다른 데이터 소스를 갖는 것입니다. 그리고 유일한/다음 옵션은 그들을 함께 가져 오기 위해 redux와 통합하는 것일까 요? – shazamsixfive
그래, 내 생각이야. 이 기사에서는 더 자세히 읽고 싶다면 redux를 꽤 잘 사용할 때를 다루지 만 약간의 결론이 있지만 내가 보는대로 커뮤니티를 반영합니다 : https://medium.freecodecamp.org/whats-so-great-about -redux-ac16f1cc0f8b – joejknowles