應用程序呈現表格行中值的數組的表格,任務是檢測在執行「REFRESH」表格後執行操作後呈現的新表格行併爲它們傳遞一個新的類名稱用於新行。在觸發操作後檢測新值,然後將它們傳遞給屬性
作爲一個新的反應和redux,我可以做到這一點,我知道有很多方法。
- 我們可以創建一個數組稱爲oldResult = []
- 通過舊行以它
- 環比oldResult []檢測到新值
這裏的功能:
let oldOrders = []
const getNewOrders = (orders) => {
oldOrders.push(OrderList.orders);
for (let i in orders){
if (orders.i != oldOrders[i]){
return this.order.state = 'newClickablerow'
}
}
}
這裏是表格行的渲染:
<tr key={i.toString()}
onClick={_onClick}
className={'clickableRow'}
onMouseLeave={() => this.props.selectOrder(null)}
onMouseEnter={() => this.props.selectOrder(order)}>
<td data-label='Bewertung'>
{this._renderScore(score, order.creation_date)}
</td>
<td data-label='Börse'>
<img src={TranseuLogo} className="ordertable-logo"/>
</td>
<td data-label='Von'>
{renderLocation(order.pickup.location)}
</td>
<td data-label='Nach'>
{renderLocation(order.delivery.location)}
</td>
<td data-label='Vor-/Haupt-/Nachlauf'>
{renderRoute(deadhead, order.route, bobtail)}
</td>
<td data-label='Fracht'>
<CargoSummary
content={{bodytypes: this.props.content.bodytypes}}
cargo={order.cargo}/>
</td>
</tr>)
,這是值傳遞給表中的減速器:
function orders(state = [], action) {
switch(action.type) {
case RECEIVE_ORDERS:
return action.orders;
case RECEIVE_ORDERS_ERROR:
return []
case REFRESH:
default:
return state;
}
}
我不知道如何防火的功能和使用它的時候刷新操作被激發,又該我在刷新的情況下呢?
以及如何更改狀態(表格行的類名稱)? 我搜索,發現我可以通過改變行狀態
constructor(props) {
super(props);
this.state = {
className : 'clickablerow'
}
}
你定義的新行是什麼?當添加新行時,所有其他行都被認爲是舊的?這將導致每一次只有1個新行的 –
新行數據,我的意思是有10個錶行存放一些數據,當刷新行佈局仍然相同,但某些行的數據可能更新。 –