由于某种原因,我无法连接到群集.在设置群集后按照每个google容器引擎的说明,我收到以下错误:
错误:(gcloud.container.clusters.get-credentials)环境变量必须将HOME或KUBECONFIG设置为存储kubectl的凭据
运行此命令时:gcloud container clusters get-credentials [my cluster name] --zone us-central1-b --project [my project name]
任何想法我应该如何设置变量HOME或KUBECONFIG.我找不到任何特定于容器引擎的东西.
我不确定当前的行为是否正确。
在 16.3 中,当我有一个通过 props 接收其状态的组件时,我成功地使用了 getDerivedStateFromProps,使用上述函数检查 props 和 state(或者更简洁地说 prevState 和 nextProps)就很好了。它在新道具进入时更新状态,并且状态变化正常运行。
现在在 16.4 中,因为对 setState 的调用也会触发 getDerivedStateFromProps,我看到了意外的结果。它比较的状态已经更新为新状态(逻辑上?)但由于 props 或 nextProps 保持不变,我的比较更新为当前设置的 props。这些在逻辑上没有变化,因为我只改变了状态。所以,我对设置状态的调用现在失败了。也许我做错了?也许它应该与调用 setState 之前的状态进行比较?这是我所期望的,并且可以解决问题,因为真实的先前状态将与道具匹配并且不会发生任何变化。
这是一个例子:https : //jsfiddle.net/rjacks24/1yupwngv/
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
stopped: this.props.stopped || false
};
this.wasToggled = false;
this.toggleStop = this.toggleStop.bind(this);
}
static getDerivedStateFromProps(nextProps, prevState) {
if (prevState.stopped !== nextProps.stopped) {
return { stopped: nextProps.stopped };
}
return null;
}
/**
* function to handle the stop of the …Run Code Online (Sandbox Code Playgroud)