react用户信息的回显,以及数据更新 退出登录 bug解决-react项目4

在setting  reducer里获取本地用户信息  获取本地token,然后在settingFrom里面利用mapState

然后通过const   从props中取值  在回显到表单页面上面。

第二个:想要更改信息:

账号不能更改,其他可以更改(在setting中直接可以不显示邮箱框)

提交步骤

这样当我提交的时候触发onsubitm方法发送action在到reducer

在reducer里面其实就是更新方法

登录之后返回token,更新的时候不要提交token

更新的时候走后端路由 有中间件进行验证,这时我发现我的token根本就没传

在发送action请求的时候发现调用的是 request中的update方法update调用apiClient.put方法 put就在apiClient的面封装的请求方法,发现put方法里面的getHeaders里面默认传的token为空

所以现在进行从本地取出token、(利用getData(token)方法成功取出token)然后封装到getHeaders里面

这时在去请求  如果status===1  这时我就利用saveData进行把result里面的data与 data的token进行同步一下,就可以成功发送请求  最后用return 把最新的用户信息返回到内存

退出登录流程

第一步:设置退出的常量  然后派发action  再到reducer里面去清除

 state={}//1:内存清除

2:本地清除

 deleteData('currentUser')  清除用户信息  

                deleteData('token')清除token

3:重新覆盖   然后进行跳转地址

                return{...state,redirect:'/login'}

4:跳转在页面中进行判断  如果redirect有值并且和原先的不一样 那就进行跳转(利用生命周期)

componentDidUpdate(preProps){

          if (this.props.redirect&&this.props.redirect !== preProps.redirect) {

              store.dispatch(replace(this.props.redirect))

          }

      }

5:此时发现一个bug  就是当我退出登录成功了但是  我右上角的角标没有退出来显示未登录的状态。

解决思路:因为Menu里面的currentUser用户信息是用的login里面的用户信息  所以login里面的用户信息也需要清空一下

在login的reducer里面如果符合constant.SETTING_LOGOUT字段就进行清空以及覆盖

 case constant.SETTING_LOGOUT:
                console.log('login  current');
                state.currentUser=null
                //deleteData('currentUser')
                //deleteData('token')
                return{...state}

6:bug问题数据回显为空   点击设置不显示当前信息

当我点击设置的时候我想要的数据没有返回回来,我进行数据回显的时候进入default进行原本的数据展示回显,但是因为返回的是同一个地址值所以mapState不生效,数据不回显

首先想明白  mapState生效必须是返回一个新的地址值,所以不可以这么像图一一样写,要像图二这样写,开辟一个新地址

 default:
图一
            //return  initState
图二!!!
            return {
                 ...initUser(),
             errors:null,
             currentUser:initUser(),
              token:initToken(),
            }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: 在React中使用react-quill插件进行富文本编辑器的开发时,如果需要实现图片的回显,可以通过以下步骤进行操作。 首先,需要将图片上传至七牛云或其他云存储服务,并获取到上传后的图片URL。 在react-quill的Upload组件的handleChange()方法中,可以通过调用七牛云的API获取到上传后的图片URL。具体的代码可以参考引用\[1\]中的示例。 然后,将获取到的图片URL插入到编辑器的光标处,可以使用react-quill提供的insertEmbed()方法实现。具体的代码可以参考引用\[1\]中的示例。 需要注意的是,由于React无法直接读取本地图片,因此在上传图片时需要将图片存储到云端,然后再通过URL进行回显。这也是为什么在引用\[3\]中提到,在React中无法直接通过本地文件路径引入图片。 总结起来,实现react-quill的图片回显功能,需要将图片上传至云存储服务,获取到上传后的图片URL,并将URL插入到编辑器的光标处。具体的实现可以参考引用\[1\]中的示例代码。 #### 引用[.reference_title] - *1* *2* *3* [利用Antd的Upload组件上传图片至七牛云(自定义react-quill富文本编辑器上传图片)](https://blog.csdn.net/chenyuhaokaixin/article/details/122633575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫LiLi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值