javascript - 动态组件:React vs Vue
问题描述
在 React 中,我们可以通过这种方式添加动态组件(我是从 react 文档https://reactjs.org/docs/jsx-in-depth.html中获取的):
import React from 'react';
import { PhotoStory, VideoStory } from './stories';
const components = {
photo: PhotoStory,
video: VideoStory
};
function Story(props) {
const SpecificStory = components[props.storyType];
return <SpecificStory story={props.story} />;
}
它只是一个返回具有正确组件的模板的函数(取决于道具)
在 Vue 中,我们可以使用以下方法执行相同的逻辑:
<template>
<component :is="currentComponent"></component>
</template>
currentComponent将是一个计算属性(通常)或只是数据中的一个属性
我的问题是:性能和渲染哪个选项更便宜?
解决方案
如果您想动态加载组件,那么您将使用计算属性,因为属性值是动态的并且应该处于状态,我猜您正在使用 vuex 来使用 ...mapGetters 在计算属性上检索数据。
使用数据属性主要用于固定值或声明
推荐阅读
- python - 从python中的给定文件列表中提取文件夹结构
- java - Long young(ParNew) GC 暂停
- java - Camel Aws 使用 acl public 移动文件
- javascript - 为什么 setState 回调会抛出错误:“来自 useState() 和 useReducer() Hooks 的状态更新不支持第二个回调参数...”
- vue.js - router-link 无法跳转到页面
- python - Django rest 框架反转序列化器
- php - 错误列计数不计算第 1 行的计数
- apache-spark - Openshift 上的 Spark 历史服务器
- javascript - 如何在 MongoDB-Memory-Server 中测试静态类方法?
- swift - 当应用程序在后台运行或关闭时,Firebase 消息无法在 IOS 上运行