作者回复: cool
作者回复: 很棒的提醒
作者回复: 这个h是官网举的例子,简单的vue-router实现那一讲里我也用了component,灵活性更高的场景jsx是必须的
作者回复: 有详细的代码吗?这个配置看起来是OK的
作者回复: jsx中这种嵌套其实也是slot const A = (props, { slots }) => ( <> <h1>{ slots.default ? slots.default() : 'foo' }</h1> <h2>{ slots.bar?.() }</h2> </> ); const App = { setup() { const slots = { bar: () => <span>B</span>, }; return () => ( <A v-slots={slots}> <div>A</div> </A> ); }, }; // or const App = { setup() { const slots = { default: () => <div>A</div>, bar: () => <span>B</span>, }; return () => <A v-slots={slots} />; }, };
作者回复: 这个缓存其实就是一个对象,因为@click传递的箭头函数,无论函数有没有变化,两个函数的比较都会是false,需要更新这个事件,用对象缓存对象的话,虚拟dom diff的时候就可以判断出函数是一个对象,可以越过diff的计算
作者回复: defineProps声明一下props
作者回复: 能享受一部分
作者回复: 也可以的,有专门的vue2的jsx插件
作者回复: 有详细的代码吗?