【发布时间】:2021-03-10 18:39:06
【问题描述】:
我想在我的 React 项目中使用这个颜色选择器https://casesandberg.github.io/react-color/#about
这是来自文档的示例
import React from 'react';
import { SketchPicker } from 'react-color';
class Component extends React.Component {
state = {
background: '#fff',
};
handleChangeComplete = (color) => {
this.setState({ background: color.hex });
};
render() {
return (
<SketchPicker
color={ this.state.background }
onChangeComplete={ this.handleChangeComplete }
/>
);
}
}
但它是类组件。我在我的项目中使用了 useState 功能。其中之一是
const [projectColor, setProjectColor] = useState("#F9A8D4");
默认选择颜色。 如何重写这个类示例以与 usestate 一起使用?我不明白...
onChangeComplete={ this.handleChangeComplete }
就像 setState?这个颜色变量是从哪里来的?
handleChangeComplete = (color) => {
this.setState({ background: color.hex });
};
这是我的完整代码(我不知道传递给 setProjectColor 的是什么)。 Colors 是包含颜色的数组,颜色是默认选择的颜色。
const [projectColor, setProjectColor] = useState("#F9A8D4");
const colors = [
"#FECACA",
"#F9A8D4",
"#FDE68A",
"#A7F3D0",
"#BFDBFE",
"#E5E7EB",
];
const colorPicker = () => {
return (
<div className="p-4">
<CirclePicker
colors={colors}
color={projectColor}
onChangeComplete={(e) => setProjectColor(projectColor)}
/>
</div>
);
};
【问题讨论】:
标签: reactjs react-hooks use-state color-picker