【发布时间】:2021-02-11 20:49:30
【问题描述】:
我需要你的帮助。 我有一个任务,创建两个按钮(这些按钮最初是白色背景)。 当我单击其中一个时,我需要两个按钮来更改颜色,使用 Redux。 我创建的按钮。我不知道如何改变颜色。 任何人都可以帮忙吗?我真的很感激。
这是我的代码
import { COUNTER_GREEN, COUNTER_RED } from "../constants";
export const actionRed = () => ({
type: COUNTER_RED
});
export const actionGreen = () => ({
type: COUNTER_GREEN
});
=========================
import React from "react";
import { connect } from "react-redux";
import { actionGreen, actionRed } from "../../actions/counter";
const Counter = ({ actionRed, actionGreen }) => {
return (
<div>
<button onClick={actionRed}>Red</button>
<button onClick={actionGreen}>Green</button>
</div>
);
}
const mapStateToProps = () => ({});
const mapDispatchToProps = {
actionRed,
actionGreen
};
export const CounterContainer = connect(mapStateToProps,mapDispatchToProps)(Counter);
======================
const red = 'red';
const green = 'green';
const redtest = {
color: 'red'
}
export const counterReducer = (state={redtest}, action) => {
switch(action.type) {
case "COUNTER_RED": {
return {
state: {redtest}
};
}
case "COUNTER_GREEN": {
return {
state:green
};
}
default: {
return state;
}
}
};
【问题讨论】:
-
所以,我看到了一些东西。你的状态不一致。
{redtest}与green。您可以使用 mapStateToProps 更改颜色,使其看起来更像,但您需要修复您的状态。