Итак, мое полное замешательство, вероятно, переходит в название, потому что оно тоже написано не очень хорошо. По сути, у меня есть функция, которая берет идентификатор из экземпляра и запускает случайный шестнадцатеричный цвет, так что каждый цвет уникально связан с указанным экземпляром. Я использую это с randomColor
библиотекой.
Это выглядит так:
seededColorGenerator = (id, delivery_id) => {
let colorId;
if (delivery_id){
colorId = delivery_id
} else{
colorId = id
}
return randomColor({
seed: Math.abs(Math.sin(colorId)) + '',
luminosity: 'light',
hue: 'random'
});
}
}
Теперь я хочу выбрать цвет, выбранный из формы (когда вы нажимаетецвет, он будет сохранен в компоненте формы VIA, а затем я передаю этот цвет в родительский контейнер и обновляю там родительское состояние, немного назад из-за моей настройки.
Итак, я представляю, что моя функция выглядит следующим образомthis:
seededColorGenerator = (id, delivery_id) => {
let colorId;
if (delivery_id){
colorId = delivery_id
} else{
colorId = id
}
if (this.state.color){
return this.state.color
} else {
return randomColor({
seed: Math.abs(Math.sin(colorId)) + '',
luminosity: 'light',
hue: 'random'
});
}
}
Как правило, если пользователь выбирает цвет (если this.state.color
не пустой), возвращает этот цвет для этого конкретного экземпляра. Если нет, тогда я буду использовать генератор randomColor
какрезервная копия, чтобы назначить ЛЮБОЙ цвет, который он выплевывает. Мой вопрос, как я могу предотвратить изменение цвета на все div-ы, использующие эту функцию, на явно выбранный цвет. Могу ли я также выбрать выбор пользователя?
Вот пример использования seededColorGenerator
.
style={{backgroundColor: this.props.seededColorGenerator(id, delivery_id)}}>{this.grabCityState(delivery_location)}
Любая помощь будет принята с благодарностью!