三年 React 开发经验的我,迁移到 Vue 的心路历程

import TodoItem from './TodoItem.vue'

export default {

components: {

TodoItem

},

data () {

return {

todo: {

text: 'Learn Vue',

isComplete: false

}

}

}

}

这里我们要给子组件(TodoItem)传递 props,但却不能在子组件定义的位置传递,而必须在模板里传递。相比之下,React 中的 props 传递更加自然,是在子组件渲染时完成的:

class TodoList extends React.Component {

render() {

}

}

尽管在 Vue 中传递 props 很不方便,但好处是,由于 store 能在任何组件中访问,实际需要传递的 props 比 React 中少得多,而在 React 中,即使有足够多的容器组件,平均每个组件收到的 props 数量也非常大。

更新:新的 React Context API(https://reactjs.org/docs/context.html)提供了一种在组件树中直接访问数据而不需要在每层手动传递 props。

三年 React 开发经验的我,迁移到 Vue 的心路历程

结论

如开头所说,本文只是一些我在从 React 迁移到 Vue 时发现的一些最重要的问题。这并不是一篇严谨的比较,不能作为选择库的依据。但如果你也像我一样不得不从一个库切换到另一个库,或者只是想了解更多的关于两个库的信息,这篇文章也许会有帮助。

总结一下重点:

  • Vue 默认不包含 JSX,很强调脚本和模板分离;
  • Redux 和 Vuex 背后的数据流思想很相似;
  • Redux 十分依赖于 state 的不可改变性,而 Vuex 不关心 state 是否不可改变;
  • Vue 允许 dispatch,也允许直接从组件中 commit,但最好还是严格些,只允许 dispatch 会比较好;
  • 任何 Vue 组件都可以直接访问 store。

原文:https://medium.com/@omm2/doing-vue-after-three-years-with-react-3d36d53abbd6

作者:Anya Pavlova,unu GmbH的软件工程师。

“征稿啦!”

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱([email protected])。


分享到:


相關文章: