2017-02-03 35 views
3

私はVue.jsでflowtypeを使用し、Vue.jsの型宣言を追加しました。 次に、babel-plugin-transform-vue-jsxでJSX構文を使用します。

JSNタグをVNodeとして入力したいのですが、flowtypeエンジンはReact $ ElementとしてJSXタグを検出するため動作しません。

フロータイプエンジンでJSXを検出する方法を知っている人がいますか?この問題を解決するには、他のタイプの方法が良いと思いますか?

私はあなたの助けが必要です。

ありがとうございます。

全体のコードはこちらです。 https://github.com/kentrino/vue-js-webpack-flowtype-example

import style from './Test.css'; 

const test: ComponentOptions = { 
    render (h): VNode { 
    return <div><h1 class={style.red}>Yeah!! This is test.</h1></div> 
//   ^^^^^ React$Element. This type is incompatible with 
//   5: render (h: any): VNode { 
//         ^^^^^ VNode 
    }, 
    name: 'Test' 
} 
+0

を動作するはずです同じもの...(React以外のライブラリを使ってフロータイプとJSXを使用する)私はあなたに私が見つけたものを教えてくれます....しかし、答えの欠如はそれが私たちのために良く見えないかもしれないことを意味します... –

答えて

1

あなたは流れがあなたのJSXをチェックするタイプの反応以外のものを使用することができます。ちょうどあなたのファイルの先頭に@jsxタグを入れて、あなたの場合は

// @flow 
// @jsx somethingBesidesReact.createElement 

(私は右のフロータグの下に地雷を置く)、あなたは単にh

に変換あなたのJSXを変換するためのVueと babel-plugin-transform-vue-jsxプラグインを使用しています

https://github.com/vuejs/babel-plugin-transform-vue-jsx

だから、あなたの場合には、これは私がしようとする程度だ

// @flow 
// @jsx h 
import style from './Test.css'; 

const test: ComponentOptions = { 
    render (h: any): VNode { 
    return <div><h1 class={style.red}>Yeah!! This is test.</h1></div> 
    }, 
    name: 'Test' 
} 

export default test; 
+0

ありがとうそんなに! – Kentrino

関連する問題