javascript - 反应水平滚动组件不可见
问题描述
我正在尝试使用React 水平滚动菜单库来实现反应水平滚动,但是当我在我的反应应用程序中使用这个组件时,它什么也没显示,我也没有收到任何错误消息。
这是该组件的代码:
import React, { useState } from "react";
import { ScrollMenu } from "react-horizontal-scrolling-menu";
// list of items
const list = [
{ name: "item1" },
{ name: "item2" },
{ name: "item3" },
{ name: "item4" },
{ name: "item5" },
{ name: "item6" },
{ name: "item7" },
{ name: "item8" },
{ name: "item9" },
];
// One item component
// selected prop will be passed
const MenuItem = ({ text, selected }) => {
return <div className="menu-item text-black">{text}</div>;
};
// All items component
// Important! add unique key
export const Menu = (list) =>
list.map((el) => {
const { name } = el;
return <MenuItem text={name} key={name} />;
});
const Arrow = ({ text, className }) => {
return <div className={className}>{text}</div>;
};
const ArrowLeft = Arrow({ text: "<", className: "arrow-prev" });
const ArrowRight = Arrow({ text: ">", className: "arrow-next" });
const AvataaarsScroll = () => {
const [selected, setSelected] = useState(0);
const onSelect = (key) => {
setSelected(key);
};
// Create menu from items
const menu = Menu(list, selected);
return (
<div className="App">
<ScrollMenu
data={menu}
arrowLeft={ArrowLeft}
arrowRight={ArrowRight}
selected={selected}
onSelect={onSelect}
/>
</div>
);
};
export default AvataaarsScroll;
任何人都请帮我解决这个问题。
解决方案
ScrollMenu
您正在通过名为 的属性将菜单项发送到data
,但您需要将它们作为子元素发送:
<div className="App">
<ScrollMenu
arrowLeft={ArrowLeft}
arrowRight={ArrowRight}
selected={selected}
onSelect={onSelect}
>
{menu}
</ScrollMenu>
</div>
...或者...
<ScrollMenu
arrowLeft={ArrowLeft}
arrowRight={ArrowRight}
selected={selected}
onSelect={onSelect}
children={menu}
/>
推荐阅读
- node.js - 如何在 Nodejs 中动态创建 MongoSchema
- html - html div 显示属性:处理内联块和一些布尔条件
- object-detection - PASCAL VOC 注释中缺少对象元素
- android - 未调用 BLE Gatt onCharacteristicChanged 方法
- c++ - 在 C++ 中,当添加到调用 bubbleUp 函数的 minHeap 时,如何按字典顺序比较两个具有相同优先级的事物?
- javascript - 为什么我必须将它绑定到 Reactjs 的类组件中的方法
- next.js - 如何将数据从使用 fs 模块的函数传递到组件
- python - 运行服务器套接字程序时无法显示 ui 窗口
- python - Tkinter Widget Motion Event 在画布上绘制某些东西时被 Canvas Motion Event 阻止
- c# - C# LINQ 查询按条件对行求和并添加到现有列表