ユーザーが要求したときにサーバーからデータをロードする必要がある単純な反応コンポーネントがあります。問題は、動的変数スピーカーUrlを転送して、コンポーネントのロード状態の前にアクセスする方法がわからないことです。確かにからアクセスできますthis.props.params
が、コンポーネントがロードされておらず、graphqlクエリを作成するとアクセスできません。クエリ - QuerySpeaker
URL 変数を手動で設定すると正常に動作します。
ルーター
<Route path="/speaker/:speakerUrl" component={SpeakerPage} />
コンポーネント - SpeakerPage
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 );