我有一个React组件,在该组件的render
方法内部,我有这样的东西:
render() {
return (
<div>
<div>
// removed for brevity
</div>
{ switch(...) {} }
<div>
// removed for brevity
</div>
</div>
);
}
现在的要点是,我有两个固定的div
元素,一个在顶部,一个在底部。在中间,我想有一个switch语句,根据状态下的值,我想渲染一个不同的组件。因此,基本上,我希望两个div
元素始终固定,并且每次都在中间以呈现不同的组件。我正在使用它来实现多步付款程序)。不过,正如目前的代码一样,它不起作用,因为它给了我一个错误,说这switch
是意外的。有什么想法可以实现我想要的吗?
您无法在渲染中进行切换。放置访问一个元素的对象文字的伪切换方法不是理想的,因为它会导致处理所有视图,并可能导致该状态下不存在的prop的依赖项错误。
这是一种很好的干净方法,不需要预先渲染每个视图:
如果视图状态的条件不仅仅基于简单的属性(例如每行多个条件),则枚举和
getViewState
封装条件的函数是分离此条件逻辑并清理渲染的好方法。