亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我收到 React 錯誤:超出最大更新深度

我收到 React 錯誤:超出最大更新深度

qq_笑_17 2023-08-10 14:35:18
我寫了我的代碼,我認為一切都正確,但我從react.js 收到錯誤錯誤:超出最大更新深度。當組件在 componentWillUpdate 或 componentDidUpdate 中重復調用 setState 時,可能會發生這種情況。React 限制嵌套更新的數量以防止無限循環。應用程序.js:    import React, { Component } from 'react';import Navbar from "./component/Navbar";import './App.css';import Users from './component/Users';class App extends Component {  state = {    users: [      {        id: 1,        name: "Jessie Alby",        salary: "5000",        department: "Software"      },      {        id: 2,        name: "John Tyson",        salary: "10000",        department: "Engineer"      },      {        id: 3,        name: "Billie Ashley",        salary: "6000",        department: "Doctor"      }    ]  }  deleteUser =(id) => {    this.setState({      users: this.state.users.filter(user => id !== user.id)    })  }  render(){  return (    <div className="container">     <Navbar title='User App2'/>     <hr/>     <Users deleteUser={this.deleteUser()} users={this.state.users}/>    </div>  );}}export default App;用戶.jsimport React, { Component } from 'react';import User from "./User";import PropTypes from 'prop-types';class Users extends Component {    render() {          const {users,deleteUser} = this.props;        return (            <div>                {                 users.map(user=>{                    return(                        <User                         key={user.id}                        id={user.id}                        name={user.name}                        salary={user.salary}                        department={user.department}                        deleteUser={deleteUser}                        />                    )                })            }            </div>        )    }}Users.propTypes = {    users: PropTypes.array.isRequired,    deleteUser: PropTypes.func.isRequired}export default Users;
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

大概和這個有關系:

<Users deleteUser={this.deleteUser()} users={this.state.users}/>

當您將其放在()函數末尾時,您所做的就是調用它(執行它)。當你想通過它時,你必須這樣做:

<Users deleteUser={this.deleteUser} users={this.state.users}/>


查看完整回答
反對 回復 2023-08-10
  • 1 回答
  • 0 關注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號