আমি রিঅ্যাক্টজেএস-এ কোনও উপাদানটির অবস্থা টগল করার চেষ্টা করছি তবে উল্লেখ করে আমি একটি ত্রুটি পেয়েছি:
সর্বাধিক আপডেট গভীরতা অতিক্রম করেছে। এটি যখন ঘটতে পারে যখন কোনও উপাদান বারবার সেটস্টেটকে উপাদান উপাদান উইলআপডেট বা উপাদান ডিডআপ্পেটের অভ্যন্তরে কল করে। প্রতিক্রিয়া অসীম লুপগুলি প্রতিরোধ করতে নেস্টেড আপডেটের সংখ্যা সীমিত করে।
আমি আমার কোডটিতে অসীম লুপটি দেখতে পাচ্ছি না, কেউ সাহায্য করতে পারে?
ReactJS উপাদান কোড:
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(){...}
পরিণত করুন toggle = () => {...}
যাতে আপনার bind
এটির প্রয়োজন হয় না!
this.toggle()
করুনthis.toggle
বা{()=> this.toggle()}