当我在客户端上调用变异时,我收到以下警告:
writeToStore.js:111 {}中缺少字段updateLocale
这是我的stateLink:
const stateLink = withClientState({
cache,
resolvers: {
Mutation: {
updateLocale: (root, { locale }, context) => {
context.cache.writeData({
data: {
language: {
__typename: 'Language',
locale,
},
},
});
},
},
},
defaults: {
language: {
__typename: 'Language',
locale: 'nl',
},
},
});
Run Code Online (Sandbox Code Playgroud)
这是我的组成部分:
export default graphql(gql`
mutation updateLocale($locale: String) {
updateLocale(locale: $locale) @client
}
`, {
props: ({ mutate }) => ({
updateLocale: locale => mutate({
variables: { locale },
}),
}),
})(LanguagePicker);
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
更新到 react-scripts 1.0.0 后,当我尝试在本地主机子域上的浏览器中打开我的应用程序时出现此错误:“无效的主机标头”
我的应用程序设置为为不同的子域提供不同的数据:group1.localhost:3000 group2.localhost:3000 ...
我发现将下面的代码添加到我的 webpack 配置中应该可以解决这个问题。
devServer: {
disableHostCheck: true
}
Run Code Online (Sandbox Code Playgroud)
但是如何在不弹出的情况下在 CRA 中修复它?
当我有多个参数时,Eslint(airbnb config) 希望将我的参数放在新行上。但是当我这样做时,vscode 格式会继续提供 4 个空格缩进而不是预期的 2 个。
结果:
const Example = ({
param1,
param2,
param3,
}) => (
<div>
{param1} {param2} {param3}
</div>
);
Run Code Online (Sandbox Code Playgroud)
预期的:
const Example = ({
param1,
param2,
param3,
}) => (
<div>
{param1} {param2} {param3}
</div>
);
Run Code Online (Sandbox Code Playgroud)
是否有我可以在 vscode 中使用的设置来获得预期的行为?
如何从动态对象属性中获取动态联合类型。
const config = {
devices: {
Brand1: ['model1'],
Brand2: ['model2', 'model3'],
},
};
export type DeviceBrand = keyof typeof config.devices; // 'Brand1' | 'Brand2'
export type DeviceModel = ___________; // 'model1' | 'model2' | 'model3'
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能使 DeviceModel 成为我的对象中我的品牌的所有模型的联合类型?