仿制VUE reactivity
目前仅支持自定义类和字符串、数字,无法监听数组等的变化,需要大佬帮助。
Usage
from reactivity import *
ref
effect(lambda: (print(v.value)))
v = ref(0)
v.value += 1 # 会自动触发注册的effect函数
reactive
@dataclass
class Person:
name: str
age: int
effect(lambda: (print(obj.name) if obj.age else None))
obj = reactive(Person('wei', 21))
obj.name = 'waa' # 会自动触发注册的effect函数
computed
v = ref(0)
# effect(lambda: (print(v.value)))
v.value += 1
ok = ref(0)
a = computed(lambda: v.value + 1 if ok.value else 999)
v.value += 1
v.value += 1
ok.value = 1
print(a.value)
#当ok.value被切换成1时,a.value会被自动更新成v.value + 1 而第1 、 2次v.value++都不会改变a.value的值。
参考
https://www.vuemastery.com/courses/vue-3-reactivity/vue3-reactivity
https://www.vuemastery.com/courses/vue3-deep-dive-with-evan-you/vue3-overview/
https://github.com/cuixiaorui/mini-vue/tree/master/packages/reactivity/src
Release files for reactivity 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| reactivity-0.0.2.tar.gz | 2.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reactivity-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.1 kB
Release files / reactivity-0.0.2.tar.gz
| Download URL | reactivity-0.0.2.tar.gz |
|---|---|
| Size | 2.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1131157e94616aff7e136eaaec0052697d2ec0471b283ce352598658072a1c00
|
|
BLAKE2b-256 checksum How to use checksums |
7d4c837c1e31998ea62d699f28d6a5ddb32e6bdb17386390a3b9e6f5485088cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.7
|
Release files / reactivity-0.0.2-py3-none-any.whl
| Download URL | reactivity-0.0.2-py3-none-any.whl |
|---|---|
| Size | 2.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51cf65afc67d57f138c8124bdcba3a4a6a4c03d0dac4895d9735bed3dbd33aa8
|
|
BLAKE2b-256 checksum How to use checksums |
3bbc0370edf2402c3d812e6a3d040361ebc2a39d82a77fe99844a50d23f49299
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.7
|