【发布时间】:2020-07-26 09:43:48
【问题描述】:
我在初始渲染 React 组件期间显示了两个按钮。如果我单击主要按钮。相关的 onClick 函数将调度一个事件来更新 reducer 状态,然后执行再次打印状态的嵌套函数。
我面临的问题是更新后的状态没有反映在 嵌套函数。你能告诉我我在这里缺少什么吗?
import React, { useEffect, useContext } from "react";
import { MainContext } from "../Main/Main";
// Main
function FirstTab() {
// // Access Context
const { mainState, mainDispatch } = useContext(MainContext);
const filterState = mainState.filter;
console.log("AppMainState->SalesTab:", filterState);
const updateFilterContext = (data) => {
console.log("Inside Filter Update:", data);
mainDispatch({ type: "UPDATE_FILTER", data: data });
};
//ss
const PrimaryClick2 = (filterState) => {
console.log("Primary Click2");
console.log("AppMainState->PrimaryClick2:", filterState);
};
const PrimaryClick1 = (filterState) => {
console.log("Primary Click1");
console.log("AppMainState->PrimaryClick1:", filterState);
PrimaryClick2(filterState);
};
const PrimaryClick = (filterState) => {
console.log("Primary Click");
console.log("AppMainState->PrimaryClick:", filterState);
updateFilterContext({ selectedValue: "NEWVALUE" });
PrimaryClick1(filterState);
};
useEffect(() => {
console.log("Step1: Generating First Tab");
}, [mainState.filter.applyFilter]);
return (
<div>
<div>
<button class="ui primary button" onClick={PrimaryClick}>
Primary
</button>
<button class="ui secondary button">Secondary</button>
</div>
</div>
);
}
export default FirstTab;
【问题讨论】:
标签: javascript reactjs react-hooks