Javascript &引用;错误:函数组件不能有字符串引用;当我不';不要使用字符串引用
所以我得到了一个组件Javascript &引用;错误:函数组件不能有字符串引用;当我不';不要使用字符串引用,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,所以我得到了一个组件 const Projects = () => { const state ={ activeItemID: 1 } const CarouselRef = useRef(null); const NextSlide = () => { CarouselRef.current.style = "opacity: 0"; } return( <Content> <
const Projects = () => {
const state ={
activeItemID: 1
}
const CarouselRef = useRef(null);
const NextSlide = () => {
CarouselRef.current.style = "opacity: 0";
}
return(
<Content>
<CarouselButton left />
<Carousel>
{CarouselData.map((elem) => {
return(
<CarouselItem ref={state.activeItemID === elem.id && CarouselRef} key={elem.id} />
);})}
</Carousel>
<CarouselButton right onClick={NextSlide} />
</Content>
);
}
但我不使用string ref,我应该使用useRef(),错误会一直显示。我该怎么办?是吗
使用条件呈现对吗?
我不知道为什么要添加比较语句state.activeItemID===elem.id
,但这就是原因。删除此选项将解决问题
我相信
state.activeItemID===elem.id&&CarouselRef
,当false
时,会在DOM上转换为“false”
。试试这个:
<CarouselItem ref={state.activeItemID === elem.id ? CarouselRef : null} key={elem.id} />
因为我只需要在激活的项中使用该引用,它可以工作,但react会在每个项idk中添加CarouselRef
<CarouselItem ref={state.activeItemID === elem.id ? CarouselRef : null} key={elem.id} />