コンポーネント外のルートで提供されているURLパラメータにアクセスできますか?反応ルータからコンポーネントの外部にあるURLパラメータをGraphQLクエリで使用するにはどうすればいいですか
これはもちろんwindow.location
で達成できますが、これをもっときれいにするために反応ルータAPIで何かを探しています。
また、GraphQLでこれを行うための標準的なアプローチがある場合は、それがさらに優れています。私はgqlのためのブラウザクライアントと、一般的なgqlの新機能を探しています。
例コンポーネント:
import React from 'react';
import { graphql } from 'react-apollo';
import gql from 'graphql-tag';
import get from 'lodash.get';
const ContractComponent = (props) => {
...
};
const ContractQuery = gql`query ContractQuery ($contractId: String!){
contract(id: $contractId) {
...
}
}`;
const ContractWithData = graphql(ContractQuery, {
options: { variables: { contractId: contractId } }, // <-- var i want to pull from url params
})(ContractComponent);
export default ContractWithData;
例ルート:
<Route path="contract/:contractId" component={Contract} />
ええと、そのトリックでした。私はドキュメントで、それを見つけていただきありがとうございました! – Jazzy