import React from 'react';
import ReactDOM from 'react-dom';
import './assets/styles/index.less';
import Green from './assets/images/green.png';
import Red from './assets/images/red.png';
class Circle extends React.Component {
constructor() {
super();
this.state = {
safety: []
}
}
render() {
const _self = this;
//console.log('_self.props.styleSet =', _self.props.styleSet)
let divStyle = {
//
}
let safetyData = {};
if(this.state.safety.length !== 0) {
this.state.safety.map(function (item) {
safetyData[item['name']] = item['value']
})
}
let cI = Red
return (
<div
ref={(elem) => { this.element = elem; }}
className={'safety_div'}
>
<div className={'safety_title'}>
<div className={'item item1'}>已處理漏洞數(shù)</div>
<div className={'item item2'}>基線配置不當(dāng)數(shù)</div>
<div className={'item item3'}>暴力破解數(shù)</div>
<div className={'item item4'}>弱口令數(shù)</div>
</div>
<div className={'safety_img'}>
<div
className={'item item1'}
>
<img src={safetyData['handle'] === 0?Red:Green} />
</div>
<div
className={'item item1'}
>
<img src={safetyData['configuration'] === 0?Red:Green} />
</div>
<div
className={'item item1'}
>
<img src={safetyData['violentBreak'] === 0?Red:Green} />
</div>
<div
className={'item item1'}
>
<img src={safetyData['weakPassword'] === 0?Red:Green} />
</div>
</div>
<div className={'safety_figure'}>
<div
className={'item item1'}
style = {{
color: safetyData['handle'] === 0?'#FF2366':'#2AF4FF'
}}
>
{safetyData['handle']}
</div>
<div
className={'item item2'}
style = {{
color: safetyData['configuration'] === 0?'#FF2366':'#2AF4FF'
}}
>
{safetyData['configuration']}
</div>
<div
className={'item item3'}
style = {{
color: safetyData['violentBreak'] === 0?'#FF2366':'#2AF4FF'
}}
>
{safetyData['violentBreak']}
</div>
<div
className={'item item4'}
style = {{
color: safetyData['weakPassword'] === 0?'#FF2366':'#2AF4FF'
}}
>
{safetyData['weakPassword']}
</div>
</div>
</div>
)
}
componentDidMount() {
//
}
componentWillReceiveProps(nextProps) { // 接收新的參數(shù)
//console.log(nextProps.data);
this.setState({
safety: nextProps.safety
});
}
componentDidUpdate() {
//
}
}
export default Circle;
優(yōu)化點(diǎn):
比如:
if(this.state.safety.length !== 0) {
this.state.safety.map(function (item) {
safetyData[item['name']] = item['value']
})
}
可更改為
get computedSafetyDate() {
...
}
暫時(shí)就這么多了
你大概需要優(yōu)化那些重復(fù)的div
吧.
<div className={'safety_img'}>
{
safetyData.map(item => {
return(
<div className={'item item1'} key={item}>
<img src={item === 0?Red:Green} />
</div>
);
})
}
</div>
<div className={'safety_figure'}>
{
safetyData.map((item, i) => {
return(
<div className={`item item${i+1}`}
style = {{color: item === 0?'#FF2366':'#2AF4FF'}}>
{item}
</div>
);
})
}
</div>
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。