ReactJS bir bileşenin durumunu değiştirmeye çalışıyorum ama belirten bir hata alıyorum:
Maksimum güncelleme derinliği aşıldı. Bu, bir bileşen defalarca componentWillUpdate veya componentDidUpdate içinde setState öğesini çağırdığında meydana gelebilir. Reaksiyon, sonsuz döngüleri önlemek için iç içe güncellemelerin sayısını sınırlar.
Kodumda sonsuz döngü görmüyorum, kimse yardımcı olabilir mi?
ReactJS bileşen kodu:
import React, { Component } from 'react';
import styled from 'styled-components';
class Item extends React.Component {
constructor(props) {
super(props);
this.toggle= this.toggle.bind(this);
this.state = {
details: false
}
}
toggle(){
const currentState = this.state.details;
this.setState({ details: !currentState });
}
render() {
return (
<tr className="Item">
<td>{this.props.config.server}</td>
<td>{this.props.config.verbose}</td>
<td>{this.props.config.type}</td>
<td className={this.state.details ? "visible" : "hidden"}>PLACEHOLDER MORE INFO</td>
{<td><span onClick={this.toggle()}>Details</span></td>}
</tr>
)}
}
export default Item;
toggle(){...}
içine toggle = () => {...}
yapmanız gerek kalmaz bind
o!
this.toggle()
içinthis.toggle
ya{()=> this.toggle()}