【发布时间】:2021-07-11 00:45:46
【问题描述】:
我有一个部分,我希望用户能够使用 react 颜色选择器和 react-redux 更改背景颜色,不幸的是,背景颜色没有改变/没有更新为新颜色。
codesandbox 中的实时代码:change background color
源代码:
import React, { useState, useEffect } from "react";
import { useSelector, useDispatch } from "react-redux";
import { ChromePicker } from "react-color";
import Details from "./Details";
const Settings = () => {
const fields = useSelector((state) => state);
const dispatch = useDispatch();
const [colorRgb, setColorRgb] = useState("#000");
useEffect(() => {
updateColor();
}, []);
const updateColor = () => {
dispatch({
type: "change",
name: "socialColor",
value: colorRgb
});
};
console.log("current color", colorRgb);
console.log("current color", fields.color);
return (
<div>
<div>
<Details />
<h1>Edit </h1>
<div className="container">
<ChromePicker
renderers={false}
color={colorRgb}
onChange={(e) => setColorRgb(e.hex)}
/>
<span
className="testa"
style={{
background: fields.color,
color: "#fff"
}}
>
Change my background color
</span>
</div>
</div>
</div>
);
};
export default Settings;
我的代码有什么问题?
【问题讨论】:
标签: javascript reactjs react-redux color-picker react-color