动态组件:React vs Vue

时间:2019-12-24 21:17:45

标签: javascript reactjs vue.js vuejs2 vue-component

在React中,我们可以通过以下方式添加动态组件(我从react docs 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 通常是计算的属性,或者只是数据中的属性

我的问题是:对于性能和渲染而言,哪种选择更便宜?

1 个答案:

答案 0 :(得分:0)

如果您想动态加载组件,那么您将选择计算属性,因为该属性值是动态的,并且应该处于状态,我想您正在使用vuex在计算属性上使用... mapGetters检索数据。

使用数据属性主要用于固定值或声明