【发布时间】:2020-07-28 15:56:15
【问题描述】:
我正在尝试使用来自另一个文件的数组创建一个带有 React useState 的推荐选框类型组件,但我的组件在更改数组后不会重新呈现。它应该每 2 秒更改一次。
根据我的控制台日志,我的状态正在正确更改。但是组件只是没有重新渲染。
我的外部数据如下所示:
export const testimonials = [
{
img : "",
info : "",
company : "",
link : ""
},
{
img : "",
info : "",
company : "",
link : ""
},...
不确定它是否因为概括它看起来像这样而没有重新渲染?这只是一个猜测。 [对象][对象][对象]
const Testimonials = ({ classes }) => {
const [ arr, setArr ] = useState(testimonials);
const IncrementTestimonials = (arr2) => {
let el = arr2.shift();
arr2.push(el);
setArr(arr2);
console.log('changed');
};
useEffect(
() => {
setInterval(() => {
console.log('changing');
IncrementTestimonials(arr);
}, 2000);
},
[ arr ]
);
return (
{arr.map((e) => (
<div className={classes.Card}>
<p>"{e.info}"</p>
</div>
))}
);
};
任何帮助将不胜感激, 谢谢。
【问题讨论】:
标签: javascript reactjs react-hooks