I am trying to disabled the button. The NEXT button should only be enabled when all the questions in a section are answered. I am giving disabled attribute in button and writing logic but when user answer second question. Button gets enabled automatically. Can anyone suggest me what's wrong in my code ?
code ::
import React, { Component } from "react";
import Answers from "../Answers/Answers";
import CommonButton from "../Button/CommonButton";
import { Link } from "react-router-dom";
import { Button } from "semantic-ui-react";
// import questions from "../../data/answers";
class Section extends Component {
state = {
que1: "",
que2: "",
que3: ""
};
handleClick = event => {
this.setState(
{
que1: event.target.attributes.getNamedItem("data-key").value
},
() => {
console.log(this.state.que1);
}
);
};
handleClick2 = event => {
this.setState(
{
que2: event.target.attributes.getNamedItem("data-key2").value
},
() => {
console.log(this.state.que2);
}
);
};
handleClick3 = event => {
this.setState(
{
que3: event.target.attributes.getNamedItem("data-key3").value
},
() => {
console.log(this.state.que3);
}
);
};
render() {
console.log(this.state);
const { que1, que2, que3, buttonDisabled } = this.state;
return (
<>
<p>1. I was stressed with my nerves on edge.</p>
<Button.Group widths="5" onClick={this.handleClick}>
<Button data-key="Never">Never</Button>
<Button data-key="Occassionally">Occassionally</Button>
<Button data-key="Often">Often</Button>
<Button data-key="Very Often">Very Often</Button>
<Button data-key="Always">Always</Button>
</Button.Group>
<span />
<p>2. I lost hope and wanted to give up when something went wrong.</p>
<Button.Group widths="5" onClick={this.handleClick2}>
<Button data-key2="Never">Never</Button>
<Button data-key2="Occassionally">Occassionally</Button>
<Button data-key2="Often">Often</Button>
<Button data-key2="Very Often">Very Often</Button>
<Button data-key2="Always">Always</Button>
</Button.Group>
<p>3. I feel very satisfied with the way I look and act</p>
<Button.Group widths="5" onClick={this.handleClick3}>
<Button data-key3="Never">Never</Button>
<Button data-key3="Occassionally">Occassionally</Button>
<Button data-key3="Often">Often</Button>
<Button data-key3="Very Often">Very Often</Button>
<Button data-key3="Always">Always</Button>
</Button.Group>
<p />
<Link to="/section2">
<Button disabled={!que1 && !que2 && !que3}>NEXT</Button>
{/* <CommonButton text={"NEXT"} />{" "} */}
</Link>
</>
);
}
}
export default Section;
