2017-06-11 12 views
0

を支える反応行方不明に文句はありませんコンポーネントがhello支柱を受け取っていません。なぜこうなった?flowtypeは、私は、次のカウンターの例を持って

+0

を使用するクラス? – zerkms

+0

@zerkmsそれはちょうど ''を実行することで私の 'App'コンポーネントにレンダリングされます。 – saadq

+0

ファイルの先頭に/ * @flow * /がありますか? –

答えて

0

これは不足しているプロパティのエラーを示しています。 <*, Props, *><void, Props, void>に変更しました。 Reduxを使用せずにCounterクラスをエクスポートします。

// @flow 
import React, { Component } from 'react' 
import { connect } from 'react-redux' 
import { increment, decrement } from '../actions/counter' 
import type { State } from '../store' 

type Props = { 
    counter: number, 
    increment: Function, 
    decrement: Function, 
    hello: Function // There is no `hello` prop coming in to the component, but there doesn't seem to be an error 
} 

// added export for Counter and void instead of * 
export class Counter extends Component<void, Props, void> { 
    props: Props; 

    render() { 
    const { counter, increment, decrement } = this.props 

    return (
     <div> 
     <h1>{counter}</h1> 
     <button onClick={decrement}>-</button> 
     <button onClick={increment}>+</button> 
     </div> 
    ) 
    } 
} 

function mapStateToProps(state: State) { 
    return { 
    counter: state.counter 
    } 
} 

function mapDispatchToProps(dispatch: Function) { 
    return { 
    increment:() => dispatch(increment()), 
    decrement:() => dispatch(decrement()) 
    } 
} 

export default connect(mapStateToProps, mapDispatchToProps)(Counter) 

カウンター `Counter`コンポーネントが使用されている方法

// @flow 
import React, { Component } from 'react'; 
import {Counter} from './counter'; 

class MainCounter extends Component 
{ 

render() 
{ 
    return (
    <div> 
    <Counter /> 
    </div> 
); 
} 
} 

enter image description here

+0

ええ、エラーは表示されますが、実際にはやりたいことではない 'connect'バージョンを使用していないので、私はもはやすべてのコンポーネントを渡さなくなっているからです。私は私の主な質問は、私が 'connect'バージョンを使うときになぜ流れがうまくいかないのかということです。 – saadq

+0

私はReduxを知らない。おそらく、これを試すことができます:constコネクタ:コネクタ = connect((state、ownProps:Props)=>({})); デフォルトコネクタ(カウンタ)をエクスポートします。 – Yoruba

関連する問題