Comments (8)
h
won't be inserted if you use an arrow function, so you can do
import {
createComponent,
createElement
} from 'vue-function-api'
export default createComponent({
setup: props => {
const h = createElement
return () => {
return (
<div>card</div>
)
}
}
from composition-api.
Could you open an issue there instead please? You probably don't need to use that plugin
from composition-api.
In order to be compatible with the old code, I may have to use this plugin. 😅
Can we import createElement
here and build a { $createElement: createElement }
object to bind it to this
? This may cause this
in setup()
to be not the expected undefined
, but it will save a lot of trouble.
Now only need:
import { createComponent } from 'vue-function-api';
// No longer need to manually import `createElement as h`
// import { createComponent, createElement as h } from 'vue-function-api';
export default createComponent({
setup(initialProps) {
// babel plugin will auto-inject h
// const h = this.$createElement;
return (props) => <div>{props.msg}</div>;
},
});
Is there any good solution?
Please consider reopening this issue. 🙏
from composition-api.
I would say that the fix is skipping the plugin at https://github.com/vuejs/jsx/blob/dev/packages/babel-sugar-inject-h/src/index.js#L60-L62 if we are in a setup
function but I'm not sure. You could give it a try and directly create a PR to the plugin 🙂
We cannot add that hack as the lib must stay in sync with the RFC.
from composition-api.
Hum... I also considered this, but this plugin should eventually solve this problem.
If the plugin imports createElement
from vue-function-api
to auto-inject h
is it appropriate? Will the createElement
function be exposed directly in future Vue?
from composition-api.
@PatrykWalach As long as JSX is used in the function, h
will be injected automatically. When I manually define const h = createElement
there will be duplicate h
identifier exceptions
from composition-api.
You won't get any errors using the method above. link
Exposing createElement is part of rfc#28 which changes the arguments of render function.
from composition-api.
@PatrykWalach Thank you! I didn't see it clearly before. 😂
from composition-api.
Related Issues (20)
- Typing component refs HOT 2
- onMounted is called when there is no active component instance to be associated with HOT 7
- Variables created with ref in <templete>,do not automatically expand value HOT 4
- why setup run twice in vue2 HOT 8
- setup function provide a wrong prop type,when use type: Function HOT 3
- not work nice in web component, no error HOT 2
- How to avoid duplicate register composition-api ? HOT 1
- It doesn't work with nuxt 2 HOT 2
- watch 的回调如果发生错误,会一直触发调用 HOT 1
- ComponentRenderProxy类型与Vue不兼容,导致Ts编译报错 HOT 2
- vue2项目, 怎么在option API的基础上, 混用composition API? HOT 1
- render 函数中使用 web components 自定义标签,移除了HTML中原生的 slot 属性 HOT 3
- No support for Vue >= 2.7
- cdn方式引入导致vue devtools调试数据丢失 HOT 2
- 客户端使用vuecli 打包出来的commonjs模式的库,出现“Error: [vue-composition-api] must call Vue.use(VueCompositionAPI) before using any functio” HOT 2
- setup返回的data在development环境下会被expose到全局mixin的data中 HOT 2
- 是否有提供withDefaults?
- 安装时,报vue版本范围错误 HOT 2
- 【Bug】Memory Leak cause by toVue3ComponentInstance HOT 1
- 【BUG】watch() 传入reactive类型的数据,vue3.4与3.3表现不一致 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from composition-api.