2017-08-26 6 views
2

私は創作者でそのように定義されたアクションがあります。それを呼び出すコンポーネントで引数を減算器に渡しますか?

export const actionCreators = { 
    submitlink: (url: string) => <SubmitLinkAction>{ type: 'SUBMIT_LINK' } 
} 

を:

public render() { 
    return <div> 
     <div>{this.props.url}</div> 
     <button onClick={() => 
     { 
      this.props.submitlink("google.com"); 
     }}>submit</button> 
    </div> 
} 

だから私は減速機能で、私はテアをつかむことができるかを把握しようとしていますルージュが渡された?これは、減速機の外観です。

export const reducer: Reducer<SubmitLinkState> = (state: SubmitLinkState, action: KnownAction) => {...} 

これは正しいワークフローではない場合はどうしたらいいですか?最終的な目標は、テキストボックスを持ち、送信ボタンがそのテキストボックスの内容をレデューサーに送信することです。

答えて

1

あなたは

export const actionCreators = { 
    submitlink: (url: string) => <SubmitLinkAction>{ type: 'SUBMIT_LINK', url} 
} 

のようなアクションパラメータとしてURLを渡すことができ、その後、action.url

export const reducer: Reducer<SubmitLinkState> = (state: SubmitLinkState, action: KnownAction) => { 
    ... 
    console.log(action.url); 
} 
+0

として減速アクセス、それに私は呼ばれたとき、残念ながらaction.urlが見つからない、ということを試みました減速機で(action.urlを介して)。私はあなたの例を逐語的にコピーしました。正直なところ私はそれが構文的な意味を持つように思えたので、うまくいくと思いました... – tweetypi

+0

アクションがインターフェイスで定義されているからです:interface SubmitLinkAction {type: 'SUBMIT_LINK'}、あまりにも? URLパラメータを追加しようとしましたが、減速機に割り当てられないというエラーが表示されました – tweetypi

関連する問題