找不到模块:错误:无法解析模块'react-redux'

时间:2017-02-06 13:16:46

标签: javascript reactjs

我收到如下指定的错误。我不知道我哪里出错了。请帮助我。 我也更改了我的webpack配置,我也更新了react-hot-webpack loader,但我仍然收到这些错误..

提前致谢。

这些是我得到的错误。

import { createStore, combineReducers } from 'redux'
import { reducer as formReducer } from 'redux-form'
import React, { Component } from 'react';
import { reduxForm } from 'redux-form';
const reducers = {
  // ... your other reducers here ...
  form: formReducer     // <---- Mounted at 'form'
}
const reducer = combineReducers(reducers)
const store = createStore(reducer)


class ContactForm extends Component {
  render() {
    const { handleSubmit } = this.props;
    return (
      <form onSubmit={handleSubmit}>
        <div>
          <label>First Name</label>
          <Field name="firstName" component={React.DOM.input} type="text"/>
        </div>
        <div>
          <label>Last Name</label>
          <Field name="lastName" component={React.DOM.input} type="text"/>
        </div>
        <div>
          <label>Email</label>
          <Field name="email" component={React.DOM.input} type="email"/>
        </div>
        <button type="submit">Submit</button>
      </form>
    );
  }
}

// Decorate the form component
ContactForm = reduxForm({
  form: 'contact' // a unique name for this form
})(ContactForm);

export default ContactForm;

这是我的反应代码

module.exports = {
  entry: './src/index.js',
  output: {
    path: __dirname + '/public',
    filename: 'bundle.js'
  },
  module: {
    loaders: [
      {
        test: /\.json$/,
        loader: 'json-loader'
      },
{ test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192' },

      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /(node_modules|lib\/ckeditor)/
      },
      {
        test: /\.s?css$/,
       loaders: ['style-loader','css-loader','sass-loader']
     }


    ]
  },
  resolve: {
  alias: { 'react/lib/ReactMount': 'react-dom/lib/ReactMount' }
}
};

这是我的webpack

this.firelist = this.af.database.list('/chat/', {
  query: {
    orderByChild: 'negativtimestamp'
  }
}).map(items => {
  const filtered = items.filter(
    item => item.memberId1 === this.me.uid
    );
  return filtered;
});

4 个答案:

答案 0 :(得分:3)

npm install react-redux  --save

这应解决问题

答案 1 :(得分:2)

我认为你还没有安装'react-redux'软件包。确保它在你的package.json文件中。如果不存在,请使用“npm install --save react-redux

进行安装

答案 2 :(得分:0)

所以我在尝试将redux-form集成到react-boilerplate时遇到了这个问题。

这可能与您尝试将redux-form存储区配置为使用Redux对象使用ImmutableJS的情况有关。

请参考docs。从版本6开始,正式支持。

TL; DR

1)您必须具有特殊输入:

// reducer registration:
import formReducer from 'redux-form/immutable';

// form implementation:
import { Field, reduxForm } from 'redux-form/immutable' // <--- immutable import

2)在实施验证时,您应牢记非标准对象的性质:

const validate = values => {
  // IMPORTANT: values is an Immutable.Map here!
  const errors = {};
  if (!values.get('username')) {
    errors.username = 'Required'
  }
  return errors;

答案 3 :(得分:0)

这为我解决了这个问题

npm install-保存redux-form