中继现代对象在使用 RefetchContainer 编辑时作为变量中断传递到 QueryRenderer
Relay Modern- Object passed into QueryRenderer as variable breaks when edited with RefetchContainer
将对象传递到 QueryRenderer 变量。在成功渲染的重新获取容器中,当对象发生任何变化时,容器就会中断。还将整数作为变量传递,该变量不会因重新获取而发生变化。
即-
<QueryRenderer
query={query}
variables={
count: 5,
testObject= {
something1: {
something2: ['something', 'something']
}
}
...
/>
Refetch container calls via
_onRefetch() => {
const newSearch = {
something1: {
something2: ['somethingElse'],
}
};
const refetchVariables = fragmentVariables => ({
testObject: newSearch,
count: this.state.currentCount + 10,
});
nullthrows(this.props.relay).refetch(
refetchVariables,
null);
}
relay modern refetch 不会处理对象,还是我做错了什么?
你的变量应该在双括号中:
<QueryRenderer
query={query}
variables={{
count: 5,
testObject: {
something1: {
something2: ['something', 'something']
}
}
...
}}
...
/>
最终需要在查询级别变量更改时从父组件重新呈现 QR。
将对象传递到 QueryRenderer 变量。在成功渲染的重新获取容器中,当对象发生任何变化时,容器就会中断。还将整数作为变量传递,该变量不会因重新获取而发生变化。
即-
<QueryRenderer
query={query}
variables={
count: 5,
testObject= {
something1: {
something2: ['something', 'something']
}
}
...
/>
Refetch container calls via
_onRefetch() => {
const newSearch = {
something1: {
something2: ['somethingElse'],
}
};
const refetchVariables = fragmentVariables => ({
testObject: newSearch,
count: this.state.currentCount + 10,
});
nullthrows(this.props.relay).refetch(
refetchVariables,
null);
}
relay modern refetch 不会处理对象,还是我做错了什么?
你的变量应该在双括号中:
<QueryRenderer
query={query}
variables={{
count: 5,
testObject: {
something1: {
something2: ['something', 'something']
}
}
...
}}
...
/>
最终需要在查询级别变量更改时从父组件重新呈现 QR。