我在Relay Modern中设置refetchContainer时遇到了一些问题.父组件是QueryRenderer,它运行初始查询,适当地填充子组件的道具(a-prop-riately?eh?eh?!).refetchContainer指定我们所有的变量,并在输入字段的onChange事件上,使用新变量重新运行查询.这一切都很完美,除了孩子的道具永远不会更新收到的新数据.我可以向下钻取Relay存储,看到确实收到了带有适当数据的查询.我已经对这个问题感到震惊了一段时间,我会感激一些帮助.可能是我想念的简单事情.Lord知道Relay Modern文档很少.
我已经四处寻找,找不到合适的解决方案.这家伙似乎遇到了类似的问题: 继电器重新提取没有显示结果
QueryRenderer的父组件:
import React, { Component } from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import { graphql, QueryRenderer } from 'react-relay';
import Search from './Search';
const propTypes = {
auth: PropTypes.object.isRequired,
};
class SearchContainer extends Component {
render() {
return (
<QueryRenderer
query={graphql`
query SearchContainerQuery($search: String!){
users: searchUsers(search:$search, first:10){
...Search_users
}
}`}
variables={{ search: 'someDefaultSearch' }}
environment={this.props.auth.environment}
render={({ error, props }) => {
if (error) {
console.log(error);
}
if (props) { …Run Code Online (Sandbox Code Playgroud)