Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello-uvue
提交
96eabdd6
H
hello-uvue
项目概览
DCloud
/
hello-uvue
通知
361
Star
3
Fork
8
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello-uvue
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
96eabdd6
编写于
8个月前
作者:
DCloud-WZF
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(reactivity): shallowReadonly
上级
63ee0b7b
master
alpha
dev
feature/props-emit-type
master-old
refactor_options-API-composition-API-correspondence
v_4.45
v_4.45-alpha
v_4.44
v_4.43-alpha
v_4.42-alpha
v_4.41-alpha
v_4.36
v_4.36-alpha
v_4.35-alpha
v_4.34-alpha
v_4.33-alpha
v_4.32-alpha
v_4.31-alpha
v_4.29
v_4.28
v_4.28-alpha
v_4.27-alpha
v_4.26-alpha
v_4.25-alpha
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
60 addition
and
40 deletion
+60
-40
pages/index/index.uvue
pages/index/index.uvue
+5
-0
pages/reactivity/advanced/shallow-reactive/shallow-reactive.test.js
...tivity/advanced/shallow-reactive/shallow-reactive.test.js
+1
-0
pages/reactivity/advanced/shallow-readonly/shallow-readonly.test.js
...tivity/advanced/shallow-readonly/shallow-readonly.test.js
+7
-7
pages/reactivity/advanced/shallow-readonly/shallow-readonly.uvue
...eactivity/advanced/shallow-readonly/shallow-readonly.uvue
+46
-32
refactor_options-API-composition-API-correspondence.md
refactor_options-API-composition-API-correspondence.md
+1
-1
未找到文件。
pages/index/index.uvue
浏览文件 @
96eabdd6
...
...
@@ -607,6 +607,11 @@ export default {
name: 'shallowReactive',
url: 'shallow-reactive/shallow-reactive'
},
{
id: 'shallow-readonly',
name: 'shallowReadonly',
url: 'shallow-readonly/shallow-readonly'
},
]
}
] as Page[]
...
...
This diff is collapsed.
Click to expand it.
pages/reactivity/advanced/shallow-reactive/shallow-reactive.test.js
浏览文件 @
96eabdd6
...
...
@@ -22,6 +22,7 @@ describe('shallowReactive', () => {
await
incrementStateCountBtn
.
tap
()
expect
(
await
stateCount
.
text
()).
toBe
(
'
1
'
)
// TODO: web 失败,获取到的还是 0
expect
(
await
stateNestedCount
.
text
()).
toBe
(
'
1
'
)
})
})
\ No newline at end of file
This diff is collapsed.
Click to expand it.
pages/reactivity/advanced/shallow-readonly/shallow-readonly.test.js
浏览文件 @
96eabdd6
const
PAGE_PATH
=
'
/pages/
composition-api/reactivity
/shallow-readonly/shallow-readonly
'
const
PAGE_PATH
=
'
/pages/
reactivity/advanced
/shallow-readonly/shallow-readonly
'
describe
(
'
shallowReadonly
'
,
()
=>
{
let
page
=
null
...
...
@@ -8,10 +8,10 @@ describe('shallowReadonly', () => {
})
it
(
'
basic
'
,
async
()
=>
{
let
stateCount
=
await
page
.
$
(
'
#state-count
'
)
expect
(
await
stateCount
.
text
()).
toBe
(
'
state.count:
0
'
)
expect
(
await
stateCount
.
text
()).
toBe
(
'
0
'
)
let
stateNestedCount
=
await
page
.
$
(
'
#state-nested-count
'
)
expect
(
await
stateNestedCount
.
text
()).
toBe
(
'
state.nested.count:
0
'
)
expect
(
await
stateNestedCount
.
text
()).
toBe
(
'
0
'
)
if
(
process
.
env
.
uniTestPlatformInfo
.
startsWith
(
'
web
'
))
{
// web端操作readonly对象会直接编译失败,以下测试无法执行
...
...
@@ -24,15 +24,15 @@ describe('shallowReadonly', () => {
const
incrementStateNestedCountBtn
=
await
page
.
$
(
'
#increment-state-nested-count-btn
'
)
await
incrementStateNestedCountBtn
.
tap
()
expect
(
await
stateCount
.
text
()).
toBe
(
'
state.count:
0
'
)
expect
(
await
stateNestedCount
.
text
()).
toBe
(
'
state.nested.count:
0
'
)
expect
(
await
stateCount
.
text
()).
toBe
(
'
0
'
)
expect
(
await
stateNestedCount
.
text
()).
toBe
(
'
0
'
)
const
updatePageRenderBtn
=
await
page
.
$
(
'
#update-page-render-btn
'
)
await
updatePageRenderBtn
.
tap
()
stateCount
=
await
page
.
$
(
'
#state-count
'
)
expect
(
await
stateCount
.
text
()).
toBe
(
'
state.count:
0
'
)
expect
(
await
stateCount
.
text
()).
toBe
(
'
0
'
)
stateNestedCount
=
await
page
.
$
(
'
#state-nested-count
'
)
expect
(
await
stateNestedCount
.
text
()).
toBe
(
'
state.nested.count:
1
'
)
expect
(
await
stateNestedCount
.
text
()).
toBe
(
'
1
'
)
})
})
\ No newline at end of file
This diff is collapsed.
Click to expand it.
pages/reactivity/advanced/shallow-readonly/shallow-readonly.uvue
浏览文件 @
96eabdd6
<template>
<view :key="pageKey" class="page">
<text id="state-count" class="mb-10">state.count: {{ state.count }}</text>
<text id="state-nested-count" class="mb-10">state.nested.count: {{ state.nested.count }}</text>
<button id="increment-state-count-btn" class="mb-10" @click="incrementStateCount">
<view class="flex justify-between flex-row mb-10">
<text>state.count:</text>
<text id="state-count">{{ state.count }}</text>
</view>
<view class="flex justify-between flex-row mb-10">
<text>state.nested.count:</text>
<text id="state-nested-count">{{ state.nested.count }}</text>
</view>
<button
id="increment-state-count-btn"
class="mb-10"
@click="incrementStateCount">
increment state.count
</button>
<button id="increment-state-nested-count-btn" class="mb-10" @click="incrementStateNestedCount">
<button
id="increment-state-nested-count-btn"
class="mb-10"
@click="incrementStateNestedCount">
increment state.nested.count
</button>
<button id="update-page-render-btn" @click="updatePageRender">update page render</button>
<button id="update-page-render-btn" @click="updatePageRender">
update page render
</button>
</view>
</template>
<script setup>
let pageKey = ref<number>(0)
<script setup
lang="uts"
>
let pageKey = ref<number>(0)
type StateNested = {
count : number
}
type State = {
count : number,
nested : StateNested
}
const state = shallowReadonly({
count: 0,
nested: {
count: 0
} as StateNested
} as State)
type StateNested = {
count : number
}
type State = {
count : number,
nested : StateNested
}
const state = shallowReadonly({
count: 0,
nested: {
count: 0
} as StateNested
} as State)
// #ifdef APP
const incrementStateCount = () => {
state.count++
}
// #ifdef APP
const incrementStateCount = () => {
state.count++
}
const incrementStateNestedCount = () => {
state.nested.count++
}
// #endif
const incrementStateNestedCount = () => {
state.nested.count++
}
// #endif
const updatePageRender = () => {
pageKey.value = Date.now()
}
</script>
\ No newline at end of file
const updatePageRender = () => {
pageKey.value = Date.now()
}
</script>
This diff is collapsed.
Click to expand it.
refactor_options-API-composition-API-correspondence.md
浏览文件 @
96eabdd6
...
...
@@ -146,7 +146,7 @@ function transform(fileInfo, api) {
-
[x] markRaw
-
[x] onScopeDispose
-
[x] shallowReactive
-
[
] shallowReadonly
-
[
x
] shallowReadonly
-
[ ] shallowRef
-
[ ] toRaw
-
[ ] triggerRef
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录