5
사용자가 요청할 때 서버에서 데이터를로드해야하는 간단한 반응 구성 요소가 있습니다. 문제는 동적 변수 speakerUrl을 전달하고 구성 요소로드 상태 이전에 액세스하는 방법을 모르겠다는 것입니다. 물론 내가 this.props.params
에서 액세스 할 수 있지만 구성 요소가로드되지 않으며 내가 graphql 쿼리를 만들 때 액세스 할 수 없습니다. 쿼리 - QuerySpeaker
잘 수동으로 url 변수를 설정할 때 작동합니다.Graphql, react-apollo 변수로드시 구성 요소 상태를 쿼리에 전달하는 방법
라우터
<Route path="/speaker/:speakerUrl" component={SpeakerPage} />
는 요소 - SpeakerPage
react-apollo
documentation 기준
import React from 'react';
import { graphql } from 'react-apollo';
import { QuerySpeaker } from '../redux/graphql/querys';
class SpeakerPage extends React.Component {
render() {
console.log(this.props);
return (
<div className="ui container">
<div className="ui grid">
<div className="row">
Hello
</div>
</div>
</div>
)
}
}
export default graphql(QuerySpeaker, {
options: ({ url }) => ({ variables: { url } }) <- here is my problem, how can i set this url variable?
})(SpeakerPage);
얼마나 자주이 사용 사례가 개발사에 게시되는지 고려하고있는 문서에는 분명하지 않습니다. 고맙습니다! – mattdlockyer
폴 감사합니다. 나는 비슷한 문제를 해결했다! 나로부터 upvote. –
반응 라우터 v4에서 match 속성을 사용해야한다고 생각하십시오. props.match.params.speakerUrl – yonih