我正在尝试正确键入react-adopt组件,因为我具有以下接口:
interface LoginData {
token: string;
}
interface LoginVars {
email: string;
password: string;
}
interface UserData {
name: string;
age: number;
}
interface UserVars {
id: string;
}
这是我的Composed
组件,请注意,唯一类型正确的东西是react-apollo组件,但是我不知道如何键入react-adopt的adopt
函数:>
const Composed = adopt({
login: ({ render, variables }) => (
<Mutation<LoginData, LoginVars>
mutation={MUTATION_LOGIN}
variables={variables}
>
{(mutation, result) => render({ mutation, result })}
</Mutation>
),
user: ({ render, variables }) => (
<Query<UserData, UserVars> query={MUTATION_USER} variables={variables}>
{render}
</Query>
)
});
最后我有了一个根本没有类型的实现:
const Foo = () => {
return (
<Composed>
{({ login, user }) => {
// Both `login` and `user` are `any` type
}}
</Composed>
)
}
有人知道如何正确键入adopt
函数吗?。