मेरे पास एक प्रतिक्रिया घटक है जो एक रेडियो बटन इनपुट अनुभाग जैसा दिखता है। मेरे पास प्रत्येक रेडियो इनपुट पर एक सही या गलत अभिव्यक्ति के लिए चेक की गई विशेषता है, लेकिन जब मैं इसे चलाता हूं तो यह काम नहीं करता है।

जब कोई नया आइटम चुना जाता है तो आइटम को क्यों नहीं जलाया जा रहा है, इस पर कोई विचार? जब मैं अभिव्यक्ति (कंसोल.लॉग) लॉग करता हूं, तो मुझे सही परिणाम मिलता है।

मेरा कोड इस तरह दिखता है:

class MyClass extends Component {
    constructor(props) {
        super(props);

        this.state = {
            currentItem: 1,
          }
    }

    updateCurrentItem = (event) => {
        let key = `${event.currentTarget.id}`;
        this.currentItem = key;
        console.log(!(1 % this.currentItem));
    }

    isOn(id) {
        return (!(id % this.currentItem));
    }

    render() {

        return (
            <div className="iconList">

                <input type="radio" id="one" name="picker" value="one" checked={this.isOn(1)}/>
                <label for="one"><button id={1} onClick={this.updateCurrentItem}>One</button></label>

                <input type="radio" id="two" name="picker" value="two" checked={this.isOn(2)}/>
                <label for="two"><button id={2} onClick={this.updateCurrentItem}>Two</button></label>

                <input type="radio" id="three" name="picker" value="three" checked={this.isOn(3)}/>
                <label for="three"><button id={3} onClick={this.updateCurrentItem}><Three</button></label>

                <input type="radio" id="four" name="picker" value="four" checked={this.isOn(4)}/>
                <label for="four"><button id={4} onClick={this.updateCurrentItem}>Four</button></label>
            </div>
            
            );
        }
}

export default MyClass;

किसी भी प्रकार की मदद की बेहद सराहना की जाती है। धन्यवाद!

1
jhf2 22 अक्टूबर 2020, 20:35

1 उत्तर

सबसे बढ़िया उत्तर

आपको this.state और this.setState का उपयोग करना चाहिए। यहां एक कामकाजी उदाहरण है: https://codesandbox.io/s/sleepy-dew -thglz?file=/src/App.js

0
Łukasz Karczewski 22 अक्टूबर 2020, 20:46