React-redux使用中有关Provider问题

先上错误:

  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">&#xe50a;</dt>
                                    <dd>首页</dd>
                                </dl>
                            </IndexLink>
                        </div>
                        
                    </div>
                </div>
            </Provider>
        )
    }
}


export default Main

 

转载于:https://www.cnblogs.com/waterFowl/p/8012138.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值