@@ -166,16 +166,13 @@ export default function render(vnode, parentInst, parentContext, data, oldData,
166
166
// key必须明确指定,对于不知道key的情况, React和小程序处理可能存在差异,造成两个平台的行为差异
167
167
168
168
let oldSubDataKeyMap = { }
169
- if ( oldData && oldData [ datakey ] && oldData [ datakey ] . isArray ) {
170
- const oldSubDataList = oldData [ datakey ] . v
169
+ if ( oldData && oldData [ datakey ] && Array . isArray ( oldData [ datakey ] ) ) {
170
+ const oldSubDataList = oldData [ datakey ]
171
171
oldSubDataKeyMap = getKeyDataMap ( oldSubDataList , 'key' )
172
172
}
173
173
174
174
const subDataList = [ ]
175
- data [ datakey ] = {
176
- isArray : true ,
177
- v : subDataList
178
- }
175
+ data [ datakey ] = subDataList
179
176
for ( let i = 0 ; i < tempVnode . length ; i ++ ) {
180
177
const subVnode = tempVnode [ i ]
181
178
@@ -186,7 +183,7 @@ export default function render(vnode, parentInst, parentContext, data, oldData,
186
183
if ( typeof subVnode === 'string'
187
184
|| typeof subVnode === 'number'
188
185
) {
189
- data [ datakey ] . v . push ( subVnode )
186
+ data [ datakey ] . push ( subVnode )
190
187
continue
191
188
}
192
189
@@ -204,29 +201,26 @@ export default function render(vnode, parentInst, parentContext, data, oldData,
204
201
205
202
const subData = {
206
203
key : subKey ,
207
- diuu : subVnode . diuu
204
+ // diuu: subVnode.diuu
208
205
}
209
- data [ datakey ] . v . push ( subData )
206
+ data [ datakey ] . push ( subData )
210
207
211
208
// 假设 Ua 对应的key为 Ka, Ub对应的key为 Kb。
212
209
// 当Ua的key由Ka --> Kb 的时候, 那么组件变为Ub负责来渲染这一块, 故而需要给予Ub对应的数据
213
210
// 对于明确且唯一的key, 小程序和React处理是一致的
214
- const vIndex = data [ datakey ] . v . length - 1
215
- render ( subVnode , parentInst , parentContext , subData , oldSubDataKeyMap [ subKey ] , `${ dataPath } .${ datakey } .v. [${ vIndex } ]` )
211
+ const vIndex = data [ datakey ] . length - 1
212
+ render ( subVnode , parentInst , parentContext , subData , oldSubDataKeyMap [ subKey ] , `${ dataPath } .${ datakey } .[${ vIndex } ]` )
216
213
}
217
214
} else {
218
215
let oldSubData = null
219
- if ( oldData && oldData [ datakey ] && oldData [ datakey ] . isJSX ) {
220
- oldSubData = oldData [ datakey ] . v
216
+ if ( oldData && oldData [ datakey ] && oldData [ datakey ] . tempName ) {
217
+ oldSubData = oldData [ datakey ]
221
218
}
222
219
223
220
const subData = { }
224
- data [ datakey ] = {
225
- isJSX : true ,
226
- v : subData
227
- }
221
+ data [ datakey ] = subData
228
222
229
- render ( tempVnode , parentInst , parentContext , subData , oldSubData , `${ dataPath } .${ datakey } .v ` )
223
+ render ( tempVnode , parentInst , parentContext , subData , oldSubData , `${ dataPath } .${ datakey } ` )
230
224
}
231
225
} else if ( nodeName === 'phblock' ) {
232
226
// 用于FlatList等外层, 用来占位
0 commit comments