- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 js
我正在尝试使用 this.setState({但我收到警告。 你们能告诉我为什么我收到以下警告吗 warning.js:45 警告:setState(...):只能更新已安装或正在安装的组件。这通常意味着您在未安装的组件上调用了 setState()。这是一个禁止操作。请检查 PerformanceChartNav 组件的代码。
提供以下代码:-
import React from 'react';
import {connect} from 'react-redux';
import moment from 'moment';
import height from './jump-player-tab-content';
import weight from './jump-player-pane-content';
import AccountSetupTab from './running-setup';
import BalancePortfolio from './balance-portfolio';
class FirstTimeTab extends React.Component {
constructor(props) {
super(props);
this.state = {
runningSetup: 'jump-player-active',
investmentPurchase: 'sports-invest-ico',
balancePortfolio: 'sports-balance-ico',
performance: 'sports-perf-ico',
selectedTab: 0
};
}
componentWillMount() {
let {sportsPhone, runningSnapshot, runningPositions, runningPerformance} = this.props;
let managedProductActivationDate = this.props.sportsPhone.managedProductActivationDate;
let past1Day = moment().subtract(1, 'days').format('YYYY-MM-DD');
let isActive= managedProductActivationDate < past1Day;
if(sportsPhone !== '' && !isActive) {
this.setState({
selectedTab: 0,
runningSetup: "sports-setup-ico jump-player-active ft-active-tab"
});
}else if(isActive) {
this.setState({
selectedTab: 1,
runningSetup: "sports-setup-ico ft-prev-day",
investmentPurchase: "sports-invest-ico jump-player-active ft-active-tab"
});
}else if(runningSnapshot !== undefined && runningPositions.positions.length > 0 ) {
this.setState({
selectedTab: 2,
runningSetup: "ft-prev-day",
investmentPurchase: "ft-prev-day",
balancePortfolio: "sports-balance-ico jump-player-active ft-active-tab"
});
}else if(runningPerformance !== undefined ) {
this.setState({
selectedTab: 3,
runningSetup: "dft-prev-day",
investmentPurchase: "ft-prev-day",
balancePortfolio: "ft-prev-day",
performance: "sports-perf-ico jump-player-active ft-active-tab"
});
}
}
callback(selectedTab){
if (this.state.selectedTab !== selectedTab) {
switch(this.state.selected) {
case 0:
let temp = this.state.runningSetup.substring(32, 45);
this.setState({runningSetup: temp});
break;
case 1:
let temp1 = this.state.runningSetup.substring(33, 46);
this.setState({runningSetup: temp});
break;
case 2:
let tem2 = this.state.runningSetup.substring(34, 47);
this.setState({runningSetup: temp});
break;
case 3:
let temp3 = this.state.runningSetup.substring(31, 41);
this.setState({runningSetup: temp});
break;
}
switch(selected) {
/*case 0:
let temp = this.state.runningSetup+' ft-active-tab';
this.setState({runningSetup: temp});
break;*/
case 0:
let temp4 = this.state.runningSetup.substring(0, 32);
this.setState({runningSetup: temp});
break;
case 1:
let temp5 = this.state.runningSetup.substring(0, 33);
this.setState({runningSetup: temp});
break;
case 2:
let temp6 = this.state.runningSetup.substring(0, 34);
this.setState({runningSetup: temp});
break;
case 3:
let temp7 = this.state.runningSetup.substring(0, 31);
this.setState({runningSetup: temp});
break;
}
}
}
render () {
// service changes need to be done
let isActiveSecond= managedProductActivationDate < past1Day;
// let {sportsPhone, runningSnapshot, runningPositions, runningPerformance} = this.props;
let managedProductActivationDate = this.props.sportsPhone.managedProductActivationDate;
let past1Day = moment().subtract(1, 'days').format('YYYY-MM-DD');
// let isActive= managedProductActivationDate < past1Day;
//let selectedTab = 0;
return (
<height selected={ this.state.selectedTab}>
<weight label="Account Setup" subtitle="Days 1 and 2" liClass={ this.state.runningSetup}>
<div>
<AccountSetupTab sportsPhone={this.props.sportsPhone} isActiveSecond={this.props.isActive} />
</div>
</weight>
<weight label="Investments Purchase" subtitle="Approx. Day 3" liClass={this.state.investmentPurchase}>
<div className="sports-tab-content">
<p className="sports-large-text ft-day1 ft-day2">
Once we verify your deposit and your running has been funded, we’ll start purchasing ETFs for your portfolio.
</p>
</div>
</weight>
<weight label="Balance and Portfolio" subtitle="Approx. Day 4" liClass={this.state.balancePortfolio}>
<div >
<BalancePortfolio portfolio={this.props.portfolio} />
</div>
</weight>
<weight label="Performance" subtitle="Approx. Day 5" liClass={this.state.performance}>
<div className="sports-tab-content">
<p className="sports-large-text ft-day1 ft-day2 ft-day3 ft-day4">
You’ll be able to monitor your portfolio as it responds to daily market changes.
</p>
</div>
</weight>
</height>
);
}
}
FirstTimeTab.propTypes = {
sportsPhone: React.PropTypes.object.isRequired,
runningSnapshot: React.PropTypes.object.isRequired,
runningPositions: React.PropTypes.object.isRequired,
runningPerformance: React.PropTypes.object.isRequired,
portfolio: React.PropTypes.object.isRequired,
managedProductActivationDate: React.PropTypes.object.isRequired
};
function select(state) {
return {
sportsPhone: state.sportsPhone,
runningSnapshot: React.PropTypes.object.isRequired,
runningPositions: React.PropTypes.object.isRequired,
runningPerformance: React.PropTypes.object.isRequired,
portfolio: state.portfolio,
past1Day: React.PropTypes.number,
isActive: React.PropTypes.object.isRequired
};
}
export default connect(select)(FirstTimeTab);
最佳答案
更改:
componentWillMount
到
componentDidMount
组件必须先安装,然后才能执行设置状态等操作。
关于javascript - warning.js :45 Warning: setState(. ..):只能更新已安装或正在安装的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40788157/
warnings.warn() 和有什么区别?和 logging.warn()就它们的作用和应该如何使用而言? 最佳答案 我同意另一个答案——logging 用于记录,warning 用于警告——但我
这是我写的代码: #usr/bin/python3 import warnings def tt(): warnings.warn("123") return 10 x = tt()
我正在尝试使用基于文档中显示的示例的代码片段来提出DeprecationWarning。 http://docs.python.org/2/library/warnings.html#warnings
我正在尝试提出一个 DeprecationWarning,其中包含基于文档中显示的示例的代码片段。 http://docs.python.org/2/library/warnings.html#war
我有兴趣尝试在调用时操纵警告,而无需围绕方法创建支持基础设施。也就是说,我需要能够捕获警告,而无需使用以下代码包装代码: tryCatch(..., warning = function() { ac
我是 js 我正在尝试使用 this.setState({但我收到警告。 你们能告诉我为什么我收到以下警告吗 warning.js:45 警告:setState(...):只能更新已安装或正在安装的组
我的最小例子是 #!/usr/bin/python3 import warnings warnings.warn('Run Forest run!', stacklevel=2) warnings.w
本文整理了Java中com.ibm.wala.util.warnings.Warnings.asString()方法的一些代码示例,展示了Warnings.asString()的具体用法。这些代码示例
本文整理了Java中com.ibm.wala.util.warnings.Warnings.clear()方法的一些代码示例,展示了Warnings.clear()的具体用法。这些代码示例主要来源于G
本文整理了Java中com.ibm.wala.util.warnings.Warnings.add()方法的一些代码示例,展示了Warnings.add()的具体用法。这些代码示例主要来源于Githu
我一定是错误地理解了警告文档。我读它的方式,这段代码: use warnings; use warnings FATAL => 'all'; warnings::warn('numeric', 'bl
我在 Linux 上使用 OpenMP 指令编译 C 代码时收到此警告: warning: ignoring #pragma omp parallel Gcc 版本是 4.4。 这只是一个我不应该关心
我有一个奇怪的 g++ 行为,当显示任何其他警告时,它会显示有关无法识别的命令行选项的警告。 例子: struct Foo{virtual int bar() = 0;}; struct Bar:pu
在 Visual Studio 2010 中使用 C++ native 解决方案。 #pragma warning (push) 用于 cpp 文件的开头,在所有包含之后。之后,#pragma war
我习惯于开始我的每一个脚本 use strict; use warnings; 但是这里的一些知名人士推荐 use warnings 'all'; 如果我理解正确,后者甚至比第一个更好。所以我通读了d
我正在编码C#。我使用NCrunch在后台运行单元测试。我已经在CSPROJ文件中设置了(新的CSPROJ格式)。 我想将FxCop分析仪用作NuGet软件包:https://docs.microso
谁能帮我解决这个问题,我收到此警告消息 log4j:WARN No appenders could be found for logger (com.akak.book.shop.listener.L
我正在尝试了解更多关于 linux 内核中的 kobject 的信息,并且在尝试编写一个使用此类工具的模块时,我收到了错误和警告消息,因此我将相关数据的精简版本放在这里结构和相应的gcc的错误和警告信
http://docs.python.org/2/howto/logging.html 上的样本同时使用 warn 和 warning。 最佳答案 logging.warn 自 Python 3.3
警告[nuxt]两个解析为相同名称ProseCode的组件文件:。警告[nuxt]两个解析为相同名称ProsePre的组件文件:。更新nuxt 3后的警告->3.7&nuxt/内容2.4->2.8。如
我是一名优秀的程序员,十分优秀!