Я пытаюсь создать что-то вроде скриншота ниже в ответном нативном. Обратите внимание, что каждая плитка является элементом продукта, извлеченным из бэкэнд.Render two items (images) бок о бок в представлении списка в ответе родной
Но я не могу сделать это с помощью ListView и его метод renderRow который отказывая мне использовать любой вид InfiniteScroll компонентов.
В настоящее время я запускаю цикл с двумя элементами за один раз и рендеринг 2 элементов внутри прокрутки. Ниже мой код объясняет лучше.
render() {
var elem = [];
for(var i = 0; i < this.state.products.length; i+=2) {
var prod = this.state.products[i];
var prod2 = this.state.products[i + 1];
elem.push(
<View style={styles.view} key={i} >
<ProductTile onPressAction={this._pdpPage} prod={prod} index={i} />
<ProductTile onPressAction={this._pdpPage} prod={prod2} index={i + 1} />
</View>
);
}
return (
<ScrollView>
{elem}
</ScrollView>
)
}
И затем, основываясь на указателе, я выравниваю элементы слева или справа. My View стиль выглядит, как показано ниже:
view: {
flex: 1,
flexDirection: 'row',
},
Пожалуйста, предложите лучший способ сделать это.
Заранее спасибо.
Спасибо, что я использую это сейчас. Это намного проще :) –