Сейчас при клике на кнопку показать еще, в таблицу подгружаются новые темы, удаляя все что было в таблице.
Не могу сообразить как при клике на кнопку добавлять в таблицу, а не заполнять заново.
Сейчас я делаю так:
Смысл простой в экшене идет запрос по API и получаю следующие темы по 50 штук.
Но когда нажимаю загрузить еще, то после экшена срабатывает метод loop в tbody, которые протсо рендерит заново. А нужно что бы старое не стирал.
import store from "../store";
import {fetchAllProducts} from "../actions/PoductsActions";
GetProducts = (url, code) => {
return store.dispatch(fetchAllProducts(url ,code, true)).then(() => {
console.log('Ok')
})
}
handleClick = () => {
this.GetProducts(this.props.products.item.next_page_url, this.props.products.select_sect_code)
}
render() {
const loop = data => data.map((item) => {
return (
<tr key={item.IdProduct}>
<td>{item.id}</td>
<td>{item.name</td>
</tr>
)
});
if (typeof this.props.products.item.data !== 'undefined' && this.props.products.item.data.length > 0 ) {
return (
<section>
<table>
<thead>
<tr>
<th>Код</th>
<th>Название</th>
</tr>
</thead>
<tbody>
{loop(this.props.products.item.data)}
</tbody>
</table>
<div onClick={this.handleClick} className={'catalog_list_pagination'}>еще</div>
</section>
);
}
}