Как и в простейших случаях, которые вы можете себе представить,
У меня есть селектор, который обновляет тринг в соответствии со значением, которое должно обновлять свойство самого селекта (его цвет фона)
Я использую React-хуки и Styled Components для достижения этой цели.
У меня есть Redux, чтобы я мог связать его неизменным массивом цветов в будущем.
Вопрос прост Почему я не могу обновить состояние, я пытался напечатать его, и это всегда пустая строка.
Вот мой файл стилей
let currentColor = '';
const SelectColor = styled.div`
select{
background-color: ${currentColor || 'black'};
}
.label{
width: 150px;
font-size: 14px;
text-align: left;
margin-left: 6px;
}
`;
Это компонент, который не обновляет selectValue по причинам, по которым я не могу gr asp (я попытался утешить журнал, и он всегда возвращает пустую строку). Я проверил документацию пару раз, и похоже, что она должна быть обновлена таким образом, поэтому я ничего не понимаю ...
const SelectComponent = ({
disabled,
colorList,
label,
onSelect,
...restProps
}) => {
const [selectValue, setSelectValue] = useState('');
const handleChange = useCallback(
(e) => {
setSelectValue(e.target.value);
console.log(selectValue);
},colorList
);
return (
<SelectColor>
<span className='label'>{label}</span>
<select onChange={e=>handleChange(e)}>
{
colorList.map(color =>
<option key={color} value={color}>{color}</option>)
};
</select>
</SelectColor>
);
};
SelectComponent.propTypes = {
disabled: PropTypes.bool,
hourValue: PropTypes.number,
projectName: PropTypes.string,
};
export default SelectComponent;