【发布时间】:2018-01-28 07:07:17
【问题描述】:
给定以下 QueryRenderer 组件:
class ProjectQueryRenderer extends Component {
constructor(props) {
super(props);
this.renderProjectList = this.renderProjectList.bind(this);
}
renderProjectList({ error, props }) {
if (props) {
return (
<ProjectList
connection={props.viewer.allProjects}
onSelectProject={this.props.onSelectProject}
selectedProject={this.props.selectedProject}
/>
);
}
}
render() {
return (
<QueryRenderer
environment={environment}
query={ProjectsQuery}
render={this.renderProjectList}
/>
);
}
}
ProjectQueryRenderer.propTypes = {
onSelectProject: Proptypes.func.isRequired,
selectedProject: Proptypes.string.isRequired,
};
我遇到的问题是,当我自己的 selectedProject 属性更改值时,renderProjectList 不会再次执行。 render 方法显然确实被触发了,但是由于 QueryRenderer 的任何属性都没有改变,renderProjectList 也没有被调用。
处理这个问题的最佳方法是什么?
【问题讨论】:
标签: reactjs relayjs relay relaymodern