我有一个React-Native应用程序。我想切换两个图标(下圆圈和上圆圈)。但是onpress触发器已经是usestate了。那么如何合并两种使用状态呢?所以默认状态是图标向上。但是当你再次触发onPress时,图标必须显示向下。
我尝试运行的代码:
const { toggle, showAccordion } = useContext(ToggleContext);
const { toggleIcon, setToggleIcon } = useState(false);
const { accordionItems } = useContext(AccordionItemsContext);
const handleClick = () => {
setToggleIcon(!toggleIcon);
};
const handleSearch = (query) => {
setSearchAnimal(query);
};
<View>
{!item.hasOwnProperty("animals") && (
<ButtonDetail
onPress={() => {
toggle(item.id);
handleClick;
}}>
{toggleIcon ? (
<AntDesign name="downcircle" size={17} color="green" />
) : (
<AntDesign name="upcircle" size={17} color="green" />
)}
</ButtonDetail>
)}
</View>
字符串
按钮详情:
import { TouchableOpacity } from "react-native";
import styled from "styled-components/native";
export const ButtonDetail = styled(TouchableOpacity)`
position: absolute;
right: 25px;
width: 25px;
bottom: 10px;
`;
型
当我像上面那样做的时候。我得到这个错误:
TypeError: setToggleIcon is not a function. (In 'setToggleIcon(!toggleIcon)', 'setToggleIcon' is undefined)
型
问:如何切换两个图标?
1条答案
按热度按时间svmlkihl1#
错误文本说明了问题所在-并不完全是预期传输到 onPress 的内容。要修复此错误,您需要通过如下方式重写代码来修复代码:
字符串