Я использую Flux версии 3.1.3
Я хочу знать, почему диспетчер не работает. Я получаю сообщение об ошибке:
отправка не является функцией
_dispatcher_AppDispatcher__WEBPACK_IMPORTED_MODULE_0__.default.dispatch is not a function
AppActions.js file
import AppDispatcher from '../dispatcher/AppDispatcher';
import AppConstants from '../constants/AppConstants';
var AppActions = {
searchMovies : function(movie){
AppDispatcher.dispatch({type:AppConstants.SEARCH_MOVIES,payload:movie});
}
}
export default AppActions;
Файл AppStore.js
var ApDispatcher = require('../dispatcher/AppDispatcher');
var AppConstants = require('../constants/AppConstants');
var EventEmitter = require('events').EventEmitter;
var Assign = require('object-assign');
var AppAPI = require('../utils/AppAPI');
var AppActions = require('../actions/AppActions');
Файл SearchForm.js
class ApStore extends EventEmitter{
action({type,payload}){
switch (type) {
case AppConstants.SEARCH_MOVIES:
console.log(1);
this.addTask(payload);
break;
}
}
}
const store = new ApStore();
module.export = ApStore;
import React from 'react';
import AppActions from '../actions/AppActions.js';
export default class SearchForm extends React.Component {
onSubmit(e){
e.preventDefault();
var movie = {
title : this.refs.title.value.trim()
}
//console.log("searchform.js"+movie.title);
AppActions.searchMovies(movie);
}
render() {
return (
<div className="search-form">
<h1 className="text-center">search for a movie</h1>
<form onSubmit={this.onSubmit.bind(this)}>
<div className="form-group">
<input type="text" id="movieser" className="form-control"
ref="title" placeholder="Enter movie name" />
</div>
<button className="btn btn-primary btn-block"> search
movies</button>
</form>
</div>
);
}
}