Reduxと反応する-アクションを親にバインドできません

user5780883

別のJSファイルのアクションをその親コン​​ポーネントにリンクするのに問題があるReduxパターンは初めてです。コンポーネントは次のとおりです。

import React, {Component} from 'react';
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import playSample from './sampleActions/clickToPlay';

class SamplesInnerLrg extends Component {  
    render() {
         return <div>
   {
     this.props.samples.map((sample) => {
        return (
                <div key={sample.id} className="sample-comp-lge">
                    <div className="sample-comp-lge-header">
                        <span className="sample-comp-lge-Name">{sample.sampleName}</span>
                        <span className="sample-comp-lge-id">{sample.sampleFamily}</span>
                    </div>
                    <div className="sample-comp-lge-audio" ref={sample.id} onClick={() => this.bind.playSample(sample)}>
                        <audio preload="auto" id="myAudio">
                              <source src={sample.soundSource} type="audio/wav" />
                        </audio>
                    </div>
                    <div className="sample-comp-lge-owner">{sample.uploader}</div>
                </div>
            )
        })
     }
   </div>
    }
}

function mapStateToProps(state) {
    return {
        samples:state.samples
    };
} 

function matchDispatchToProps(dispatch) {
    return bindActionCreators({playSample:playSample},dispatch)
}

export default connect(mapStateToProps,matchDispatchToProps)(SamplesInnerLrg);

具体的には、インポートされたファイル(clickToPlay.js)の関数を呼び出すonClickアクションをこの行に配置しようとしています。

<div className="sample-comp-lge-audio" ref={sample.id} onClick={() => this.bind.playSample(sample)}>

clickToPlayファイルは次のようになります。

import $ from 'jquery';

export const playSample = (sample) => {
    console.log(sample);

        return {
            type:"Play_Sample_clicked",
            payload:sample
        }
    };

クリック時に発生するエラーは、未定義のプロパティ「playSample」を読み取れません。アクションをコンポーネントに正しくバインドしたと思いますが、理由がわかりませんか?

編集:

リクエストに応じて、index.jsファイルを次に示します。

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import {Provider} from 'react-redux';
import { createStore,compose } from 'redux';
import allReducers from './reducers';

const store = createStore(allReducers,compose(
    window.devToolsExtension ? window.devToolsExtension() : f => f
    ));

ReactDOM.render(
    <Provider store={store}>
        <App />
    </Provider>
  ,
  document.getElementById('root')
);
コーヒー

デフォルトのエクスポートとして「playSample」をエクスポートしていません。これを再利用するには、次の2つの方法があります。

できるよ:

import { playSample } from './sampleActions/clickToPlay';

または

あなたは変更することができますexport const playSampleconst playSample、[追加export default playSampleファイルの末尾。

この行について言及したいもう1つの注意事項:

return bindActionCreators({playSample:playSample},dispatch)

なぜあなたが{playSample:playSample}それをに変更しているのか分かりませんplaySampleES6では、キーが値と同じである場合にキーを削除できます。これは、オブジェクトリテラルプロパティ値の省略形と呼ばれます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Reduxと継承に反応する

分類Dev

JSON応答をGSONアノテーション付きPOJOにバインドできませんでした

分類Dev

reduxを使用するときにライフサイクルに反応する

分類Dev

Redux非同期アクションテストに反応する

分類Dev

未定義のプロパティ `.then`をaxiosで読み取ってアクションに反応することはできません

分類Dev

適切でReduxのと反応する状態「のロード」を扱うことができません。

分類Dev

タブバーアイテムの反応ナビゲーションに画像を追加できません

分類Dev

タブバーアイテムの反応ナビゲーションに画像を追加できません

分類Dev

reduxでサイドバーを作ろうとして反応する

分類Dev

アクションには、未定義の「タイプ」プロパティを含めることはできません。反応して?

分類Dev

vuexアクション-ペイロードを相互に連続するアクションにディスパッチできません

分類Dev

反応ネイティブアプリケーションでreduxを使用してデータをフェッチおよび表示していますが、バックエンドからのデータ変更時に更新されません

分類Dev

反応ネイティブアプリケーションでreduxを使用してデータをフェッチおよび表示していますが、バックエンドからのデータ変更時に更新されません

分類Dev

状態を変えずにreduxアクションに反応する方法

分類Dev

反応コンポーネント内でreduxアクションをデバウンスする方法

分類Dev

Theme.AppCompatを使用して16進色を設定し、アクションバーにアイコンを表示することはできません

分類Dev

反応ネイティブナビゲーションでナビゲーションプロップメソッドを呼び出すときに「未定義はオブジェクトではありません」を取得する

分類Dev

ネイティブアプリケーションドメインに反応見つけることができません

分類Dev

反応アプリのモーダル内から次のボタンと前のボタンをクリックすると、アニメーション(フェード)をモーダルで機能させることができません

分類Dev

反応アプリケーションでbabelモジュールリゾルバー+ eslint +インデックスファイルを使用すると、モジュールを解決できません

分類Dev

Asp.Net CoreでTempDataを使用すると、アクションにリダイレクトできません

分類Dev

(ナビゲーションwixをReduxと反応させる)アプリが起動時にクラッシュする

分類Dev

Reduxの混乱に反応する

分類Dev

redux非同期mapStateToPropsに反応する

分類Dev

タイプスクリプトをRollUpにバンドルする-コンパイラオプションを処理できませんでした

分類Dev

Redux-observable:アクションが完了したときにコンポーネントがどのようにサブスクライブして反応することができますか?

分類Dev

反応コンポーネントとは別にreduxアクションをディスパッチできますか?

分類Dev

Boostrap要素を操作するためにinteract.jsのドラッグアンドドロップインタラクションを取得できません

分類Dev

親指を最後までドラッグすると、シークバーのアニメーションが最初のポイントに移動します

Related 関連記事

  1. 1

    Reduxと継承に反応する

  2. 2

    JSON応答をGSONアノテーション付きPOJOにバインドできませんでした

  3. 3

    reduxを使用するときにライフサイクルに反応する

  4. 4

    Redux非同期アクションテストに反応する

  5. 5

    未定義のプロパティ `.then`をaxiosで読み取ってアクションに反応することはできません

  6. 6

    適切でReduxのと反応する状態「のロード」を扱うことができません。

  7. 7

    タブバーアイテムの反応ナビゲーションに画像を追加できません

  8. 8

    タブバーアイテムの反応ナビゲーションに画像を追加できません

  9. 9

    reduxでサイドバーを作ろうとして反応する

  10. 10

    アクションには、未定義の「タイプ」プロパティを含めることはできません。反応して?

  11. 11

    vuexアクション-ペイロードを相互に連続するアクションにディスパッチできません

  12. 12

    反応ネイティブアプリケーションでreduxを使用してデータをフェッチおよび表示していますが、バックエンドからのデータ変更時に更新されません

  13. 13

    反応ネイティブアプリケーションでreduxを使用してデータをフェッチおよび表示していますが、バックエンドからのデータ変更時に更新されません

  14. 14

    状態を変えずにreduxアクションに反応する方法

  15. 15

    反応コンポーネント内でreduxアクションをデバウンスする方法

  16. 16

    Theme.AppCompatを使用して16進色を設定し、アクションバーにアイコンを表示することはできません

  17. 17

    反応ネイティブナビゲーションでナビゲーションプロップメソッドを呼び出すときに「未定義はオブジェクトではありません」を取得する

  18. 18

    ネイティブアプリケーションドメインに反応見つけることができません

  19. 19

    反応アプリのモーダル内から次のボタンと前のボタンをクリックすると、アニメーション(フェード)をモーダルで機能させることができません

  20. 20

    反応アプリケーションでbabelモジュールリゾルバー+ eslint +インデックスファイルを使用すると、モジュールを解決できません

  21. 21

    Asp.Net CoreでTempDataを使用すると、アクションにリダイレクトできません

  22. 22

    (ナビゲーションwixをReduxと反応させる)アプリが起動時にクラッシュする

  23. 23

    Reduxの混乱に反応する

  24. 24

    redux非同期mapStateToPropsに反応する

  25. 25

    タイプスクリプトをRollUpにバンドルする-コンパイラオプションを処理できませんでした

  26. 26

    Redux-observable:アクションが完了したときにコンポーネントがどのようにサブスクライブして反応することができますか?

  27. 27

    反応コンポーネントとは別にreduxアクションをディスパッチできますか?

  28. 28

    Boostrap要素を操作するためにinteract.jsのドラッグアンドドロップインタラクションを取得できません

  29. 29

    親指を最後までドラッグすると、シークバーのアニメーションが最初のポイントに移動します

ホットタグ

アーカイブ