jump-player-tab-container.js:129 Uncaught (in promise) ReferenceError: isActive is not defined(...)r
Posted
技术标签:
【中文标题】jump-player-tab-container.js:129 Uncaught (in promise) ReferenceError: isActive is not defined(...)render @ jump-player-tab-container.js:129【英文标题】:jump-player-tab-container.js:129 Uncaught (in promise) ReferenceError: isActive is not defined(…)render @ jump-player-tab-container.js:129 【发布时间】:2017-04-08 07:15:42 【问题描述】:我是js
的新手,我正在尝试传递道具isActive
。但我遇到了一个错误。你们能告诉我为什么我得到下面的错误提供代码。我在这一行出现错误<AccountSetupTab sportsPhone=this.props.sportsPhone isActiveSecond=isActive />
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=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);
【问题讨论】:
【参考方案1】:您需要指定isActive as a prop
,因为connect
函数将其作为道具提供给React 组件。这就是它为您提供undefined error
的原因。希望能解决你的问题
<AccountSetupTab sportsPhone=this.props.sportsPhone isActiveSecond=this.props.isActive />
【讨论】:
所以我需要在这里提一下 FirstTimeTab.propTypes = 您已经将select
函数与 FirstTimeTab 组件绑定,因此可能不需要它。如果您仍然收到错误,则可以尝试。我不认为它需要以上是关于jump-player-tab-container.js:129 Uncaught (in promise) ReferenceError: isActive is not defined(...)r的主要内容,如果未能解决你的问题,请参考以下文章