web3 React dapp中编写balance组件从redux取出并展示用户资产

好啊 上文WEB3 在 React搭建的Dapp中通过redux全局获取并存储用户ETH与自定义token与交易所存储数量中 我们拿到了用户的一个本身 和 交易所token数量 并放进了redux中做了一个全局管理

然后 我们继续 先 起来ganache的一个模拟环境

javascript 复制代码
ganache -d

然后 我们启动自己的项目 顺手发布一下合约

javascript 复制代码
truffle migrate --reset

然后 就要来搬搬砖了 我们已经在redux中存起来了 那么自然是要将它展示出来的

我们找到 src下的 components 下的 balance.jsx

直接编写代码如下

javascript 复制代码
import React from 'react';
import { useSelector } from "react-redux";

function convert(unit) {
  return window.WebData ? window.WebData.web3.utils.fromWei(unit, "ether") : ""
}

export default function Balance() {
  const {
    TokenWallet,
    TokenExchange,
    EtherWallet,
    EtherExchange
  } = useSelector((state) => state.balance)
  return (
    <div>
      <h3>个人grToken: {convert(TokenWallet)}</h3>
      <h3>个人交易所grToken: {convert(TokenExchange)}</h3>
      <h3>个人ETH: {convert(EtherWallet)}</h3>
      <h3>个人交易所ETH: {convert(EtherExchange)}</h3>
    </div>
  );
}

这里 我们直接用state.balance结构出我们存在redux中的用户token数量信息

然后 用我们存在window中的web3对象 中的fromWei将单位转换回ether

一种方便我们观看的单位

我们运行代码如下

也是没有任何问题

相关推荐
VisuperviReborn3 分钟前
前端开发者的知识深度革命,从打牢基础开始
前端·javascript·架构
Nano3 分钟前
Vue响应式系统的进化:从Vue2到Vue3.X的深度解析
前端·vue.js
工业3D_大熊5 分钟前
3D Web轻量化引擎HOOPS Communicator赋能一线场景,支持本地化与动态展示?
前端·3d
某人的小眼睛9 分钟前
vue3 element-plus 大文件切片上传
前端·vue.js
东坡白菜12 分钟前
最快实现的前端灰度方案
前端
curdcv_po15 分钟前
🔴 你老说拿下 react,真的 拿下 了吗
前端
魔都吴所谓16 分钟前
[前端]HTML模拟实现一个基于摄像头的手势识别交互页面
前端·html·交互
来自星星的猫教授18 分钟前
Vue 3.6前瞻:响应式性能革命与Vapor模式展望
前端·javascript·vue.js
涵信22 分钟前
第九节 高频代码题-实现Sleep函数(异步控制)
前端·javascript·typescript
新讯网26 分钟前
保诚发布PRUD币,重塑Web3健康金融生态版图
金融·web3·区块链