Я планирую 4 деления. Они печатаются так, как я хочу, каждый div показывает свой соответствующий номер в h2 и аккорд по умолчанию 'C'.
У меня выпадающий список с опциями AG. Я хочу, чтобы h1 изменил аккорд на новый аккорд только в том диве, в котором он был выбран.
Аккорд меняется, но во всех div. Как мне сделать так, чтобы состояние менялось только для этого конкретного div? Это возможно? Я знаю, что мог бы написать отдельное состояние для каждого div, только четыре, но я хочу, чтобы это было чище, чем это, если это возможно. Любые идеи? Я уверен, что большинство из вас смогут сразу определить проблему. Заранее спасибо за помощь.
function Grid() {
const [chord, setChord] = useState("C");
const number = [1, 2, 3, 4]
return (
number.map(number =>
<div style={left}>
<div style={styles} className="col-">
<h1 style={keyStyle}>{chord}</h1>
<h2 key={number}>{number.toString()}.</h2>
<label for="key">KEY </label>
<select
style={dropdownStyles}
onChange={e => setChord(e.target.value)}
>
<option value="C">C</option>
<option value="dm">dm</option>
<option value="em">em</option>
<option value="F">F</option>
<option value="G">G</option>
<option value="am">am</option>
</select>
</div>
</div>
)
);
}