Skip to content

Instantly share code, notes, and snippets.

@tiye
Created June 16, 2024 10:56
Show Gist options
  • Save tiye/533a9c4b56979120636ca2f17e77459f to your computer and use it in GitHub Desktop.
Save tiye/533a9c4b56979120636ca2f17e77459f to your computer and use it in GitHub Desktop.
Why Rust Virtual DOM, for Respo

Rust 版本的 Virtual DOM

为什么?


React 早期问题


关于多继承

一些朦胧的想法..

MyComponent extends React.Component

MyComponent extends CommunityUtils

MyComponent extends MyUtils

----

ClojureScript 版本

  • 一切皆是表达式
  • PersistentVector, PersistentHashMap
  • 倾向于纯函数, 大量用 macro

Calcit 基本类似


Rust 语言功能


Trait 与多继承

演示

猜想, 是否可以用来表示 React Component 之间的方法复用?

Respo.rs 当中的尝试

  • plugin: 组件的另一种写法, 但是状态是可以命令式控制的
  • effect: 受限的 data => DOM 的更新过程

一些限制

Rust 代码没有全局的 GC, 而且数据的内存行为从代码中体现,


模式匹配的好处

Store dispatch 为例


结尾

dioxus 的一些思考.

试验. 验证.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment