Never use trackedTokenState when fetching new token state
This commit is contained in:
@@ -152,9 +152,8 @@ export class Portal extends React.Component<PortalProps, PortalState> {
|
||||
}
|
||||
public componentDidUpdate(prevProps: PortalProps): void {
|
||||
if (!prevProps.blockchainIsLoaded && this.props.blockchainIsLoaded) {
|
||||
const trackedTokenAddresses = _.map(this._getCurrentTrackedTokens(), token => token.address);
|
||||
// tslint:disable-next-line:no-floating-promises
|
||||
this._fetchBalancesAndAllowancesAsync(trackedTokenAddresses);
|
||||
this._fetchBalancesAndAllowancesAsync(this._getCurrentTrackedTokensAddresses());
|
||||
}
|
||||
}
|
||||
public componentWillReceiveProps(nextProps: PortalProps): void {
|
||||
@@ -188,9 +187,8 @@ export class Portal extends React.Component<PortalProps, PortalState> {
|
||||
(nextProps.userAddress !== this.props.userAddress && nextProps.networkId === this.props.networkId) ||
|
||||
nextProps.lastForceTokenStateRefetch !== this.props.lastForceTokenStateRefetch
|
||||
) {
|
||||
const trackedTokenAddresses = _.keys(this.state.trackedTokenStateByAddress);
|
||||
// tslint:disable-next-line:no-floating-promises
|
||||
this._fetchBalancesAndAllowancesAsync(trackedTokenAddresses);
|
||||
this._fetchBalancesAndAllowancesAsync(this._getCurrentTrackedTokensAddresses());
|
||||
}
|
||||
|
||||
const nextTrackedTokens = this._getTrackedTokens(nextProps.tokenByAddress);
|
||||
@@ -609,11 +607,12 @@ export class Portal extends React.Component<PortalProps, PortalState> {
|
||||
const isSmallScreen = this.props.screenWidth === ScreenWidths.Sm;
|
||||
return isSmallScreen;
|
||||
}
|
||||
|
||||
private _getCurrentTrackedTokens(): Token[] {
|
||||
return this._getTrackedTokens(this.props.tokenByAddress);
|
||||
}
|
||||
|
||||
private _getCurrentTrackedTokensAddresses(): string[] {
|
||||
return _.map(this._getCurrentTrackedTokens(), token => token.address);
|
||||
}
|
||||
private _getTrackedTokens(tokenByAddress: TokenByAddress): Token[] {
|
||||
const allTokens = _.values(tokenByAddress);
|
||||
const trackedTokens = _.filter(allTokens, t => t.isTracked);
|
||||
|
||||
Reference in New Issue
Block a user