Вот некоторые проблемы в вашем коде.
- Вы устанавливаете состояние Выключено in Перемешиваете Функция, которая настраивается только один раз Выключена значение состояния не два раза (<- обратите внимание здесь) </li>
Что вы можете сделать, создать две переменные состояния и установить в соответствии с ними.
Вот как это можно сделать:
import React, { Component } from "react";
import "./styles.css";
export default class App extends Component {
constructor(props) {
super(props);
this.state = {
Off1: " Choose Vacation",
Off2: "Choose Vacation",
rand: "random"
};
}
Change = () =>
this.setState({
Off1: "Off1",
Off2: "Off2"
});
shuffle = () => {
if (this.state.Off !== "Off") {
var x = ["2:00 to 11:00 ", "3:00 to 12:00", "12:00 to 9:00"];
this.setState({
Off1: x[Math.floor(Math.random() * x.length)],
Off2: x[Math.floor(Math.random() * x.length)]
});
}
};
render() {
return (
<div>
<button onClick={this.Change}>{this.state.Off1}</button>
<button onClick={this.Change}>{this.state.Off2}</button>
<button onClick={this.shuffle}>random</button>
</div>
);
}
}
Вот рабочая демонстрационная ссылка: https://codesandbox.io/s/broken-butterfly-rybjk