在bossinfo页面跳转不到boss界面,以下代码和老师的一样
来源:7-2 完善信息-boss 信息完善页面后端

慕粉0019008925
2017-12-21
我的bossinfo.js中this.props.location.pathname等于this.props.redirect
{redirect&&redirect!==path?<Redirect to={this.props.redirect} />:null}
3回答
-
phoock
2018-06-27
你要选择头像以后再点提交,
逻辑里不选择头像avatar的值就为空,redirectTo的值会加上'info)
00 -
nc1199
2018-03-23
要跳到boss界面的整个逻辑是:
1、在bossinfo.js中,利用AvatarSelector组件为子元素props添加了一个函数,并且该函数就是为state设置avatar值。
2、avatar值通过保存按钮(也就是update函数)提交到数据库,并且数据库返回的data中包含avatar这个值。
3、数据库返回data值后(返回avatar后)通过dispatch=>authSuccess函数将data值(avatar)放在action.payload上,并且通过user这个函数去判断action.type时执行了getRedirectPath(action.payload)函数,同时将state的值更新(这一步将redirectTo字段放进state对象中)。
4、通过reducer.js整合所有state后,在index.js中利用createStore设置了整个页面的props~也就是加入了props.redirectTo~
5、最终bossinfo.js中执行的判读语句{this.props.redirectTo ? <Redirect to={this.props.redirectTo}></Redirect> : null} 才得以实现跳转操作~
00 -
慕丝4433203
2017-12-22
老师的代码中. util.js是传入(payload, avatar),其中,payload包含了avatar的信息,但是这个avatar一直为空。所以需要从payload中提取avatar.
export function getRedirectPath(payload) {
let type = payload.type;
let avatar = payload.avatar;
let url = (type==='boss')?'/boss':'/genius'
if(!avatar){
url += 'info'
}
return url
}022017-12-31
Redux+React Router+Node.js全栈开发
1822 学习 · 750 问题
相似问题