import { StatusBar } from "expo-status-bar";
import React from "react";
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
import { useState } from "react";
export default function App() {
const [item, setItems] = useState([]);
const [button2, setbutton2] = useState(
<TouchableOpacity onPress={() => makenewButton()}>
<Text>Click2</Text>
</TouchableOpacity>
);
const addItem = () => {
setItems([...item, { key: 0, value: 1 }]);
};
const makenewButton = () => {
setbutton2(
<TouchableOpacity onPress={() => setNode()}>
<Text>Click3</Text>
</TouchableOpacity>
);
};
const setNode = () => {
addItem();
};
return (
<View style={styles.container}>
{item.map((item) => (
<Text>{item.value}</Text>
))}
<TouchableOpacity onPress={() => addItem()}>
<Text>Click1</Text>
</TouchableOpacity>
{button2}
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "#fff",
alignItems: "center",
justifyContent: "center",
},
});
이것은 내 전체 코드입니다.
React Native와 Expo를 사용하고 있으며이 문제에 대한 도움이 필요합니다.
시간 내 주셔서 감사 드리며 위의 질문에 대한 답을 아시면 조언 부탁드립니다.
addItem
함수를 변경 setItems
하고 상태의 이전 값을 전달 하십시오.
const addItem = () => {
setItems(prev=>[...prev, { key: 0, value: 1 }])
};
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다