createFragment,
createPortal
} from './vdom'
-import { isObservable } from '@vue/observer'
+import { isObservable, unwrap } from '@vue/observer'
export const Fragment = Symbol()
export const Portal = Symbol()
if (data === void 0) data = null
if (children === void 0) children = null
- if (__DEV__ && isObservable(data)) {
- console.warn(
- `Do not used observed state as VNode data - always create fresh objects.`,
- data
- )
+ // if value is observable, create a clone of original
+ // so that we can mutate it later on.
+ if (isObservable(data)) {
+ data = Object.assign({}, unwrap(data))
}
let key = null