这可能很复杂,所以请耐心等待。我刚刚开始学习 React/Redux 和管理状态。我想构建一个不使用路由的小应用程序,如下所示:
与安装向导不同。
将提示用户在每一页上回答一个问题,然后按一个按钮向前或向后前进。最后,用户将看到他们的答案列表。
我想状态会是这样的:
{
steps: [
{ prompt: 'Question in step 1', answer: null },
{ prompt: 'Question in step 2', answer: null },
{ prompt: 'Question in step 3', answer: null }
],
currentStepNumber: 0,
currentStepData: { prompt: 'Question in step 1', answer: null }
}
前进/后退应该增加/减少currentStepNumber
,而currentStepData
应该显示,比如说steps[0]
。此外,应在导航时保存响应。最后,所有结果都应该在最终的“页面”上可见。
我真的很想知道如何通过简单地在组件和容器之间传递道具来做到这一点而无需路由。
上面的状态对象是一种尝试,看起来它可能有效,但我觉得我没有得到它。
具体问题:
- 如何在没有路线的“导航”时显示/隐藏组件?
- 是否应该一直隐藏结果容器,直到到达最后一步?
- 如何设计状态,以便我知道步骤 N 是向导中的最后一步,因此需要显示结果容器?