给定以下 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,
};
我遇到的问题是当我自己的道具更改值renderProjectList
时不会再次执行。selectedProject
该render
方法显然确实被触发了,但是由于没有任何 propsQueryRenderer
被更改,renderProjectList
因此也没有被调用。
处理此问题的最佳方法是什么?