使用RefetchContainer编辑时,Relay Modern- Object作为变量中断传递给QueryRenderer

时间:2017-06-07 18:00:23

标签: relayjs relay

将对象传递给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);
 }

继电器现代重新提取是不是处理对象,还是我做错了什么?

2 个答案:

答案 0 :(得分:0)

你的变量应该是双括号:

<QueryRenderer
  query={query}
  variables={{
    count: 5, 
    testObject: { 
      something1: { 
        something2: ['something', 'something'] 
      }
    }
    ...
  }}
  ...
/>

https://facebook.github.io/relay/docs/query-renderer.html

答案 1 :(得分:0)

当查询级别变量发生变化时,需要从父组件重新呈现QR。