次の 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
明らかにトリガーされますが、いずれの小道具もQueryRenderer
変更されrenderProjectList
ていないため、どちらも呼び出されません。
これを処理するための最良のアプローチは何ですか?