Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用componentDidUpdate来更新某些内容,而不必刷新页面?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何使用componentDidUpdate来更新某些内容,而不必刷新页面?

Javascript 如何使用componentDidUpdate来更新某些内容,而不必刷新页面?,javascript,reactjs,Javascript,Reactjs,因此,F表示“喜爱的电影”状态,W表示“观看的电影”状态 我制作了一个按钮,可以将“最喜爱的电影”清除为0,但要更新它,我必须刷新页面。在不刷新页面的情况下,如何使用componentdiddupdate生命周期对其进行更新 你能给我解释一下这个过程吗?我认为你应该把你的电影作为一种状态,我认为componentDidUpdate不是最好的方法,你只需要点击一个按钮就可以了 在构造函数中 constructor(props) { super(props); this.state = {

因此,F表示“喜爱的电影”状态,W表示“观看的电影”状态

我制作了一个按钮,可以将“最喜爱的电影”清除为0,但要更新它,我必须刷新页面。在不刷新页面的情况下,如何使用
componentdiddupdate
生命周期对其进行更新


你能给我解释一下这个过程吗?

我认为你应该把你的电影作为一种状态,我认为componentDidUpdate不是最好的方法,你只需要点击一个按钮
就可以了

在构造函数中

constructor(props) {
  super(props);
  this.state = { movies: 0 }; // or movies: [] empty array
}
然后在按钮组件中

<button
  onClick={() => {
    this.setState({ movies: 0 });
  }}
/>
{
this.setState({movies:0});
}}
/>

我认为你应该把你的电影作为一种状态,我认为componentDidUpdate不是最好的方法,你只需要点击一个按钮
onClick
listener

在构造函数中

constructor(props) {
  super(props);
  this.state = { movies: 0 }; // or movies: [] empty array
}
然后在按钮组件中

<button
  onClick={() => {
    this.setState({ movies: 0 });
  }}
/>
{
this.setState({movies:0});
}}
/>

如果您在这个.props中获得了值,那么在componentDidUpdate中可以做的一件事是

componentDidUpdate(prevProps) {
  if (this.props !== prevProps) {
    //update the state for movies favorited & movies watched.
  }
}
另一个解决方案是, 初始化两个状态,然后在api调用响应的情况下在componentDidMount中设置状态

如果这些道具来自道具,请使用组件将接收道具,在下一步中更新道具

componentWillReceiveProps = (nextProps) => {
  this.setState({m_fav : nextProps.fav, m_watch: nextProps.watch})
}

如果您在这个.props中获得值,那么在componentDidUpdate中可以做的一件事是

componentDidUpdate(prevProps) {
  if (this.props !== prevProps) {
    //update the state for movies favorited & movies watched.
  }
}
另一个解决方案是, 初始化两个状态,然后在api调用响应的情况下在componentDidMount中设置状态

如果这些道具来自道具,请使用组件将接收道具,在下一步中更新道具

componentWillReceiveProps = (nextProps) => {
  this.setState({m_fav : nextProps.fav, m_watch: nextProps.watch})
}

为什么需要刷新页面以更新最喜爱的电影?你能在问题中包含你的代码吗?为什么你需要刷新页面来更新你最喜欢的电影?你能在问题中加入你的代码吗?