у вас может быть состояние, которое содержит массив объектов, которые идентифицируют этот компонент React, и одним щелчком мыши вы можете добавить еще один объект в этот массив.
Я предоставлю ниже код, который у меня есть реализован для рендеринга компонента при нажатии кнопки в response-native
const [mediaRows, setMediaRow] = useState([
// here I have a default compont so I have one object by default
{id: 1, imgUri: '', moreInfo: ''},
]);
// this is the function that executed when the button clicked
const addMediaRow = () => {
const lastId = mediaRows.length;
setMediaRow([...mediaRows, {id: lastId + 1, imgUri: ''}]);
};
, а JSX ниже перерисовывается, когда этот массив изменяет изменение
{mediaRows.map((media) => {
return (
<View
key={media.id}
style={[
styles.mediaMediaContainer,
{backgroundColor: colors.primary},
]}>
<Avatar
onPress={() => uploadImage(media.id)}
source={
media.imgUri
? {
uri: media.imgUri,
}
: undefined
}
rounded
size="medium"
containerStyle={{
backgroundColor: colors.backgroundDegree,
marginRight: 10,
}}
icon={{
name: 'photo-camera',
size: 24,
color: Colors.white,
}}
/>
<Input
placeholder="Type More Information"
overrideStyles={[
styles.inputOverrideStyles,
{backgroundColor: colors.mediaInput},
]}
/>
</View>
);
logi c между реагировать и реагировать-native - вам просто нужно знать идею и изменить этот JSX, счастливого кодирования братан