【每日一题】为什么前端框架里的Props是只读的

共 1259字,需浏览 3分钟

 ·

2021-09-13 01:29



















人生苦短,总需要一点仪式感。比如学前端~








Props是只读属性,内部不能直接修改


vue / React中,Props在子孙组件中的设计都是只读属性、内部不能直接修改。要想修改 Props,只能在该组件的上层组件中进行修改。


单向数据流 Unidirectional data flow


这是因为,props 是上层组件传递进来的值,这个值是父类的值。props 的传值遵从单向数据流 (Unidirectional data flow)的设计模式,也就是数据只能从上流到下、从外流到内这样沿着一个方向传递,而不能“逆流”。即不会让内部影响外部的值,这样能使状态可预测


试想一下,如果允许子组件修改父组件的数据,那么当我们将一个父组件的状态传递给好几个子组件后,这几个子组件随意修改数据,就会导致状态完全不可预测、根本不知道在什么地方修改什么状态的混乱场景。


修改props的值


如果需要改值,只能从外部到内部这一个方向去修改值:在vue中可以用$emit自定义事件配合修改;
在React中可以向子组件传递并调用父组件的函数进行修改。


也可以在子组件内,先把 props 赋值给一个变量,再修改这个变量。














END


愿你历尽千帆,归来仍是少年。







让我们一起携手同走前端路!


关注公众号回复【加群】即可











● 工作中常见页面布局的n种实现方法


● 三栏响应式布局(左右固宽中间自适应)的5种方法


● 两栏自适应布局的n种实现方法汇总


● 工作中常见的两栏布局案例及分析


● 垂直居中布局的一百种实现方式


● 常用九宫格布局的几大方法汇总


● 为什么操作DOM会影响WEB应用的性能?


● 移动端滚动穿透的6种解决方案


● Vue + TypeScript 踩坑总结







浏览 45
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报