【发布时间】:2020-10-06 22:04:12
【问题描述】:
我对 React 还是很陌生,所以如果这是一个重复的帖子,我很抱歉。我正在使用 React 创建一个分布在不同页面的表单。这个想法是拥有您从工作申请中收到的表格类型。一个有多个步骤的。
我为表单的每个步骤制作了不同的组件。第一个页面是主页。想象一个按钮将您带到创建页面。然后您会看到创建页面。有一个带有 amount 和 name 的小表格。当您点击下一页时,您会看到自定义页面。您可以在此处按优先级修改预算。
在我画得很糟糕的图片中,我显然有这个应用程序,还有一个预算主页来管理它的孩子的状态。我想我应该这样做,因为这是我知道的唯一方法。 我遇到的问题是:我不知道如何正确地在整个组件中传递状态。二:我什至不知道我所做的是否正确。 React 文档在基于类的组件中使用表单,这有点帮助,但我无法根据我的问题对其进行配置。
非常感谢任何帮助或建议。我还想显示预算页面中的代码。
import React, { useState, useEffect, useRef } from "react";
import BudgetResultsPage from './BudgetResultsPage';
const [count, setState] = useState(0);
const handleStateCount = () => {
if(count>3) {count = 0;}
return setState(count + 1);
}
if(count === 0) {
console.log(`homepage state ${count}`)
return (
<div className={Styles.Calculator}>
<BudgetHomePage setState={count} handleStateCount={handleStateCount}/>
</div>
)
} else if(count===1) {
console.log(`budget create state ${count}`)
return (
<div className={Styles.Calculator}>
<CalculatorHeader />
<CreateBudget setState={count} handleStateCount={handleStateCount} setAmount={amount} handleAmount={handleAmount}/>
</div>
)}
显然有更多其他页面的导入和组件中传递的更多代码。这只是我处理组件方式的简单介绍。
这可能很愚蠢,但我正在创建一个状态计数,然后当提交表单的一部分时,计数会上升,它会根据计数改变页面。仅适用于一种状态,但我在向其中添加更多状态时遇到问题。
再次感谢!
【问题讨论】:
标签: javascript reactjs forms react-hooks use-state