这应该是比较简单的,但我不明白。我想根据已通过父组件的道具动态地呈现按钮。我不能“.map”,因为它不是一个数组,而且我似乎不能让for循环传入react。我能得到一些帮助吗?我在renderButtonsHandler()上缺少什么?
const Carousel = ({ chunkSize }) => {
const [currentSlide, setCurrentSlide] = useState(0);
const totalImages = imageArray.length;
const renderButtonsHandler = (chunkSize) => {
const buttons = [];
for (var i = 0; i < chunkSize; i++) {
buttons.push(
<button
className="circleButton"
key={i}
onClick={setCurrentSlide(i)}
></button>
);
}
return buttons;
};
return (
<div className="container">
<button </button>
{imageArray.map((img, index) => {
return (
<div>
{index === currentSlide && (
<img
className="carouselImg"
src={img}
key={index}
/>
)}
</div>
);
})}
<button></button>
{renderButtonsHandler(chunkSize)}
</div>
);
};
export default Carousel;
当然,如果chunksize
是一个数字,您可以.map
。但你得用不同的方法去做。你不需要函数。您可以创建一个新的数组,用空字符串填充它并映射它。然后在代码中使用它,如:
{new Array(chunkSize).fill("").map((item, i) => (
<button
key={i}
className="circleButton"
onClick={setCurrentSlide(i)}
></button>
))}
示例在此
这是来自物料界面的模板。我从GitHub的注册中选择了这个模板,我只导入了useState并尝试使用它。 它抛出“太多的重新渲染。React限制渲染数量以防止无限循环材质”, 我尝试过使用反应钩子,因为我不能实现类。
所以这是我的第一个组件,我减速我的路线。我决定做两个导航项目。做了一些造型。但我得到的错误,许多重新渲染。因为我尝试添加带有悬停效果的样式。我不想使用css。这是我的代码:
我在边框的中心有一个标题栏。对于链接哈希图中的每个条目,我想在标题栏中添加一个按钮。这个标题栏已经存在于fxml文件中,并且具有fx: id field dContainer。 如果一次添加一个键值对,按钮将一个接一个出现。但是,当我试图通过从文本文件导入链接的hashmap一次添加它们时,按钮不会出现。它将加载一个条目,然后抛出nullpointerexception。 导入文本文件和将条目添加
问题内容: 我正在尝试使用新的Hooks从类组件转变为功能组件。但是,感觉与类组件中的类函数不同,我将获得不必要的子代渲染。 下面有两个相对简单的片段。第一个是我的示例编写为类,第二个是我的示例重写为功能组件。目的是使功能组件获得与类组件相同的行为。 类组件测试用例 功能组件测试用例 在第一个(类组件)中,我可以通过红色块更新计数,而无需重新渲染任何一个块,并且我可以通过橙色块自由地控制台记录当前
我有一个组件,它需要获取数据,将其设置为state,然后将其传递给子级。一些数据还需要在上下文中设置。我的问题是,使用useEffect,一旦调用API,它将为我需要执行的每个setvalue()函数重新呈现。我已经尝试传递useffect一个空的[]数组,由于状态正在改变,仍然得到相同数量的重新渲染。此时数组包含集合。。。用于防止eslint抛出警告的函数。 有没有更好的方法来避免如此多的重新渲
我正在建立一个新的Wordpress网站,希望利用Bootstrap。 但是,当我直接从这个引导文档复制buttons代码时,如下所示: 我得到的是一系列按钮,每个按钮都显示在单独的一行中,像这样: 使它们显示在同一行上的唯一方法是将代码作为一个连续行,如下所示: <代码> 这是非常有问题的应用程序,我想使用它们,也不是如何引导留档显示代码。 我在同一个服务器上的几个WordPress网站上尝试了