2016-12-29 36 views
2

我想使用ReactJS製作一個簡單的股票報價器。我想暫時突出顯示價值變化。例如。如果價格下跌,則顯示紅色的價格爲1秒,如果價格上漲,則顯示爲綠色,然後恢復爲黑色。例如,市場開放時見www.google.co.uk/finance。使用ReactJS實現這一點的簡單方法是什麼?如何使用ReactJS暫時突出顯示股票行情價值變化?

下面的代碼更新每次價格更改後的顏色,但更新永久不是臨時的。

class StockTicker extends React.Component { 
 
    constructor(props) { 
 
    super(props); 
 
    this.state = {price: 1, lastPrice : 1}; 
 
    } 
 

 
    componentDidMount() { 
 
    this.timerID = setInterval(
 
    () => this.tick(), 
 
     2000 
 
    ); 
 
    } 
 

 
    componentWillUnmount() { 
 
    clearInterval(this.timerID); 
 
    } 
 

 
    tick() { 
 
    this.setState({ 
 
     price: Math.floor(Math.random() * 200+200), lastPrice: this.state.price 
 
    }); 
 
    } 
 
    
 
    change() { 
 
    if(this.state.price > this.state.lastPrice){ 
 
     return "green"; 
 
    }else if(this.state.price < this.state.lastPrice){ 
 
     return "red"; 
 
    }else{ 
 
     return "black"; 
 
    } 
 
    } 
 

 
    render() { 
 
    return (
 
     <div> 
 
     
 
     <h2 className={this.change()}> {this.state.price}</h2> 
 
     </div> 
 
    ); 
 
    } 
 
} 
 

 

 

 
ReactDOM.render(
 
    <StockTicker />, 
 
    document.getElementById('root') 
 
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

它可以codepen運行: http://codepen.io/anon/pen/pNMLYN

+0

歡迎計算器!請閱讀[我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask) –

+1

我不認爲Reactjs是這裏的東西,看起來像普通的CSS對我:)。請分享一些代碼,如果你期望建設性的答案! :) –

回答