标签:hash efault main ret link 数据 dom fail expected
先上错误:
Warning: Failed prop type: Invalid prop `children` of type `array` supplied to `Provider`, expected a single ReactElement. in Provider (at index.js:8)
React.Children.only expected to receive a single React element child.
代码:index.js
import React from ‘react‘; import ReactDOM from ‘react-dom‘; import {Provider} from ‘react-redux‘ import store from ‘./redux/Store‘ import App from ‘./self-component/Router‘ ReactDOM.render(<Provider store={store} > <App /> </Provider> ,document.getElementById(‘root‘))
原因:
原因是吧Provider放错地方了。应该放在路由表的根路由的位置。这样每次数据修改后,就会从根路由开始重新渲染其他组件
改正:
就是在要 return 的最外层包一层 <Provider>...</Provider> main.js
import React,{Component} from ‘react‘ import {Link, IndexLink, hashHistory} from ‘react-router‘ import {Provider} from ‘react-redux‘ import ‘../styles/common.css‘ import ‘../styles/main/main.css‘ class Main extends Component{ render(){ return( <Provider> <div className="main"> <div className=‘component‘> {this.props.children} </div> <div className=‘foot‘> <div className=‘foot-block‘> <IndexLink to=‘/‘ activeClassName=‘active‘> <dl className="homePage"> <dt className="iconfont"></dt> <dd>首页</dd> </dl> </IndexLink> </div> </div> </div> </Provider> ) } } export default Main
标签:hash efault main ret link 数据 dom fail expected
原文地址:http://www.cnblogs.com/waterFowl/p/8012138.html