今天遇到的问题与解决方法

redux

  • 今天在写项目的时候,由于加了redux,在entry.js里面导入了component里面的组件,结果导致错误this.props.onAdd() is not a function,最后改为导入container里面的组件解决了这个问题
export default connect(mapStateToProps, mapDispatchToProps)(Add);

通过react-redux提供的connect方法将我们需要的state中的数据绑定到props上,同时绑定展示组件,在展示组件上显示,所以入口文件里面需要导入容器组件

middle

  • 错误做法
const createStoreMiddle = applyMiddleware(AddRequest);
const Store = createStoreMiddle(reducer);
  • 正确做法
const createStoreMiddle = applyMiddleware(AddRequest);
const Store = createStore(reducer,createStoreMiddle);
或者
const createStoreMiddle = applyMiddleware(AddRequest)(createStore);
const Store = createStoreMiddle(reducer);

错误原因是没有将applyMiddleware添加在createStore

请求状态

  • 在控制台network里面看到请求状态是pendding,然后发现是后台没有响应,导致http处于pendding状态

webpack

  • 打算添加两个入口文件,然后添加之后,很不明白为什么打包的两个文件一个正常,另一个import报错,不知道是没有打包成功还是其他问题,但是安装了npm install babel-cli,将之前的node运行改为babel-node之后解决了这个问题
  • 代码如下:
 entry:{
        src:'./src/entry.js',
        route:'./routes/model.js'
    },
    output:{
        path:__dirname+'/public/dist',
        filename:"[name].js"
    },
  • babel-cli是工具自带一个babel-node命令,提供一个支持ES6的REPL(Read-Eval-Print-Loop,可交互式运行)环境。它支持Node的REPL环境的所有功能,而且可以直接运行ES6代码

总结

  • 项目中遇到了很多问题,总的来说还是原理没有搞清楚,虽然学会了简单调试定位问题,但解决问题的能力还是有待提高,今天遇到问题的时候在Stack Overflow上提问,也得到了答案,以后要多多提问,多和同学讨论
  • 写demo真的很有用,简单的学会一个东西,但有时候遇到问题,因为有上下文环境,所以demo比较难划分的很小

你可能感兴趣的:(今天遇到的问题与解决方法)