### Version 3.0.0-rc.8 ### Reproduction link [https://codesandbox.io/s/weathered-bush-fd9mf?file=/src/LabeledIcon.vue](https://codesandbox.io/s/weathered-bush-fd9mf?file=/src/LabeledIcon.vue) ### Steps to reproduce Creating a render function component that looks something like this: ```vue import { h, cloneVNode } from "vue"; export default { setup(props, { slots }) { const [span] = slots.default(); return () => cloneVNode(span, { class: ["foo", "bar"] }); } }; ``` ...will ultimately render something like <span class="foo,bar"> instead of <span class="foo bar">. ### What is expected? Should treat the `class` property like the `class` prop, and support array syntax, object syntax, etc. ### What is actually happening? Classes appear to just be joined with ",", looks like Array.toString() sort of behavior. <!-- generated by vue-issues. DO NOT REMOVE -->