我有以下会改变数据的组件。 Apollo 提供自动更新商店的功能。我想使用 update 控制将数据添加到商店的方式功能。该文档足够简单,但我无法让它工作。下面的代码中有什么问题会阻止 console.log
打印。
import React from 'react'
import { connect } from 'react-redux';
import { graphql, gql, compose } from 'react-apollo';
import { personCodeSelector } from '../../selectors/auth';
import UploadBankStatement from '../../components/eftFileUploads/UploadBankStatement.jsx';
const createEftFileUpload = gql`mutation createEftFileUpload(
$bankAccountCode: String!,
$uploadInput: UploadInput!,
$uploadedByPersonCode: String!) {
createEftFileUpload(
bankAccountCode: $bankAccountCode,
uploadInput: $uploadInput,
uploadedByPersonCode: $uploadedByPersonCode) {
id
bankAccountCode
fileName
numberOfProcessedItems
numberOfUnallocatedItems
createdAt
status
}
}`;
const mutationConfig = {
props: ({ ownProps, mutate }) => ({
createEftFileUpload: (bankAccountCode, uploadInput) => {
return mutate({
variables: {
bankAccountCode,
uploadInput,
uploadedByPersonCode: ownProps.personCode
},
update: (store, something) => {
console.log("ping");
console.log(store, something);
},
});
}
})
};
const mapStateToProps = state => {
return {
personCode: personCodeSelector(state)
};
};
export default compose(
connect(mapStateToProps),
graphql(createEftFileUpload, mutationConfig)
)(UploadBankStatement);
注意我发现了几个类似的 issues ,但这似乎并没有说明我的情况。
最佳答案
服务器重新启动解决了我的问题。不知道为什么热重载需要这样做。代码是正确的。
关于caching - 突变中的更新方法未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45370593/