我是使用React和Redux的新手,正在构建一个简单的todos应用程序。我正在命令行中使用create-react-app工具编写应用程序。
问题
我去了其他博客和帖子,其他人提到我缺少一个npm插件来转换装饰器“ transform-decorators- legacy”,将其与Babel一起添加到我的依赖项中,但仍然收到相同的错误。
Syntax error: Unexpected token (9:0) 7 | import './App.css'; 8 | > 9 | @connect((store) => { | ^ 10 | return { 11 | user: store.user.user 12 | }
我的密码
import React, { Component } from 'react'; import { connect } from 'react-redux'; import Todos from './components/Todos'; import Todo from './components/Todo'; import './App.css'; @connect((store) => { return { user: store.user.user } }) class App extends Component { constructor(){ super() this.state = { name: 'Brad', todos: [ { id: '001', name: 'Take out trash', completed: false }, { id: '002', name: 'Meeting with boss', completed: false }, { id: '003', name: 'Go out to dinner', completed: false } ] } } render() { return ( <div className="App"> <h1>Hello</h1> <Todos name={this.state.name} todos={this.state.todos}/> <Todo/> </div> ); } } export default App;
我的依赖
package.json
{ "name": "react-redux-project", "version": "0.1.0", "private": true, "dependencies": { "axios": "^0.16.2", "react": "^15.6.1", "react-dom": "^15.6.1", "react-redux": "^5.0.6", "redux": "^3.7.2", "redux-logger": "^3.0.6", "redux-promise-middleware": "^4.3.0", "redux-thunk": "^2.2.0" }, "devDependencies": { "babel": "^6.23.0", "babel-plugin-transform-decorators-legacy": "^1.3.4", "react-scripts": "1.0.11" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" } }
任何帮助/知识将不胜感激,谢谢!
尝试这样:
const stateMap = (state) => { console.log('state', state); return { //something from state }; }; export default connect(stateMap)(App);