Итак, у меня есть следующий список вакансий, в котором я выполняю каждую работу.
return getJobs.map(job => (
<Listings
key={job._id}
_id={job._id}
name={job.name}
description={job.description}
city={job.city}
createdAt={job.createdAt}
background={job.background}
available={job.available}
logo={job.business.logo}
isFavorited={job.isFavorited}
favoriteCount={job.favoriteCount}
onPress={() => this.onJobDetails(job)}
/>
));
Теперь я хочу открыть сведения о работе на другом экране, чтобы получить данные типа this.props.navigation.state.params.job
Теперь интересно то, что я хочу добавить свою работу в избранное.
const FAVORITE_JOB = gql`
mutation favoriteJob($_id: ID!) {
favoriteJob(_id: $_id) {
isFavorited
favoriteCount
_id
}
}
`;
const mutationConfigFav = {
props: ({ ownProps, mutate }) => ({
favorite: () =>
mutate({
variables: { _id: ownProps._id },
optimisticResponse: {
__typename: "Mutation",
favoriteJob: {
__typename: "Job",
_id: ownProps._id,
favoriteCount: ownProps.isFavorited
? ownProps.favoriteCount - 1
: ownProps.favoriteCount + 1,
isFavorited: !ownProps.isFavorited
}
}
})
})
};
В этом случае ownProps
не сработает, но даже если я попробую что-то вроде props.navigation.state.params.job._id
, произойдет сбой
Есть идеи, как лучше всего?