Reactjs 使用效果操纵次值
嗨,我正在为销售网站制作一个交互式价格计算器,允许用户点击增加数值的功能。我已经决定在将上下文引入网站之前,在useState Useffect中完成整个事情 你现在看到的是Useffect部分,我还不想把它放在上下文中,但我准备稍后再做Reactjs 使用效果操纵次值,reactjs,Reactjs,嗨,我正在为销售网站制作一个交互式价格计算器,允许用户点击增加数值的功能。我已经决定在将上下文引入网站之前,在useState Useffect中完成整个事情 你现在看到的是Useffect部分,我还不想把它放在上下文中,但我准备稍后再做 const ToolSelect = () => { useEffect(() => { setInitialState(initialState); }, []); const [initialState
const ToolSelect = () => {
useEffect(() => {
setInitialState(initialState);
}, []);
const [initialState, setInitialState] = useState({
service: "",
services: [],
plan: "",
type: "",
clicked: false,
price: 0
});
const { number, service } = initialState;
useEffect(() => {
if (type === "cash") {
setPrice(number * 1.1);
} else if (type === "accrual") {
setPrice(number * 1.2);
}
});
useEffect(() => {
setClicked(true);
if (plan === "starter") {
setPrice(1000);
} else if (plan === "essential") {
setPrice(2000);
}
});
useEffect(() => {
if (service === "tp") {
services.push(service);
setPrice(number + 800);
} else if (service === "pr") {
services.push(service);
setPrice(number + 1000);
} else if (service === "entity") {
services.push(service);
setPrice(number + 300);
} else if (service === "compliance") {
services.push(service);
setPrice(number + 2000);
}
});
const [price, setPrice] = useState(0);
const [type, setType] = useState("");
const [plan, setPlan] = useState("");
const [services, setServices] = useState([]);
const [clicked, setClicked] = useState(true);
const onChange = e => {
setPrice({ ...price, [e.target.name]: e.target.value });
setType({ ...type, [e.target.name]: e.target.value });
setPlan({ ...plan, [e.target.name]: e.target.value });
setServices({ ...service, [e.target.name]: e.target.value });
};
const onSubmit = e => {
e.preventDefault();
};
您尚未向
useffect
添加任何依赖项,因此这将继续对每个set
状态执行useffect
fn。将setValue或value添加到useEffects会使我得到一个初始化错误代码更新请帮助我你想用单个的useEffects
替换3useEffects
?我想在与表单上的选择值交互时汇总价格