如何解决仅在使用F5进行硬刷新时反应应用程序加载
在我的应用程序中,如果我console.log(window.tronWeb)。我得到正确的输出。如果我对应用程序进行更改,它将刷新,但是控制台中的值未定义。 为了重新获得价值,我必须努力尝试F5。 它也不会更新状态。
这是我的应用组件代码;
import { loadTronWeb } from '../store/interactions'
async componentDidMount(){
this.loadAppData(this.props.dispatch)
}
async loadAppData(dispatch) {
const tronWeb = loadTronWeb(dispatch)
if(!tronWeb){
console.log('TronWeb did not load')
}
intercations.js
import TronWeb from 'tronweb'; // <---- tronweb module
import { tronweb } from './actions' <---- react action
export const loadTronWeb = (dispatch) => {
const HttpProvider = TronWeb.providers.HttpProvider;
let fullNode = 'https://api.shasta.trongrid.io'
let solidityNode = 'https://api.shasta.trongrid.io'
let eventServer = 'https://api.shasta.trongrid.io'
const privateKey = process.env.PRIVATE_KEY_SHASTA
const tronWeb = new TronWeb(fullNode,solidityNode,eventServer,privateKey)
if(!tronWeb){
console.log('TronWeb no loaded')
return
}else {
if(!window.tronWeb){
console.log('tronlink not injected')
return
} else {
dispatch(tronweb(tronWeb))
return tronWeb
}
}
}
我的动作;
export function tronweb(connection) {
return {
type: 'TRONWEB_LOADED',connection
}
}
我的减速器
import { combineReducers } from 'redux'
function tronweb(state = {},action) {
switch(action.type){
case 'TRONWEB_LOADED':
return { ...state,connection: action.connection}
default:
return state
}
}
export const rootReducer = combineReducers({
tronweb
})
export default rootReducer
完整的应用程序可以在这里找到; https://github.com/Madeindreams/tronx.git
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。