Javascript 用于条件渲染的容器或组件
当出现渲染错误、加载或空状态时,最佳做法是什么 是让容器控制渲染更好,还是让它本质上引用的组件控制渲染更好 e、 gJavascript 用于条件渲染的容器或组件,javascript,reactjs,Javascript,Reactjs,当出现渲染错误、加载或空状态时,最佳做法是什么 是让容器控制渲染更好,还是让它本质上引用的组件控制渲染更好 e、 g render(){ 常数{ 加载, 错误, 项目 }=本州; 返回( { 装载&& } { 错误&& } 等 或 const ItemList=({items,loading,error})=>{ 如果(装载){ 返回 } 等 欢迎/感谢所有意见。 谢谢!我认为我们应该制作尽可能多的组件。它使代码更清晰,组件更实用 在您的情况下,逻辑应该在基本组件中。我认为,您的组件应该只对
render(){
常数{
加载,
错误,
项目
}=本州;
返回(
{
装载&&
}
{
错误&&
}
等
或
const ItemList=({items,loading,error})=>{
如果(装载){
返回
}
等
欢迎/感谢所有意见。
谢谢!我认为我们应该制作尽可能多的组件。它使代码更清晰,组件更实用 在您的情况下,逻辑应该在基本组件中。我认为,您的组件应该只对自己的视图负责。并且它不应该知道应该显示它的逻辑。根据文档,两者都很好,都是“正式正确的”
但是,在您的示例中,我个人认为您的第二个示例更具可读性。首先,您负责特殊情况(错误和加载),然后是“快乐之路”。它既快又容易阅读!我完全忘记了这个页面,尽管我以前访问过它-因此这非常有用。谢谢!
render() {
const {
loading,
error,
items
} = this.state;
return (
<div>
{
loading &&
<Loading />
}
{
error &&
<Error />
}
etc...
const ItemList = ({ items, loading, error }) => {
if (loading) {
return <Loading />
}
etc...