相关疑难解决方法(0)

为什么componentDidUpdate()会创建一个无限循环?

我存储url了一个tokenin statein Parent组件.我传递的urltokenprops从父Component到子Component.但是,如果父项中存在某些事件Component,setState()则会触发并因此执行componentDidUpdate()子项Component.
由于componentDidUpdate()导致无限循环(因为它触发子组件内的setState()),我已经放置了条件.但这并不能防止错误.
子组件即DisplayRevenue如下:

import React, { Component } from 'react';
import '../App.css';
import ListData from './listdata.js'
var axios = require('axios');

class DisplayRevenue extends Component {

  constructor(props){
    super(props);
    this.state = { data:[], url:"" }
  console.log(this.props.url);
  }

  componentWillMount() {
    this.loadRevenue(this.props.url, this.props.token);
 }

  componentDidUpdate(){    //creates infinite loop
  //  console.log(this.props.url);
    this.loadRevenue(this.props.url, this.props.token); …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

ecmascript-6 ×1

javascript ×1

reactjs ×1