我在使用 React 将组件推送到数组时遇到问题,代码如下:
import React, { useState } from 'react';
import NewPageSidebar from '../NewPageSidebar/NewPageSidebar';
import NewPageContent from '../NewPageContent/NewPageContent';
import TextBlock from '../TextBlock/TextBlock';
const NewPage = () => {
const [blocks, setBlocks] = useState([]);
const textButtonHandler = () => {
const key = blocks.length;
let array = blocks;
array.push(<TextBlock key={key} />);
setBlocks(array);
// This works
// setBlocks(<TextBlock key={key} />);
};
const imageButtonHandler = () => {
};
const spacingButtonHandler = () => {
};
return (
<div className="d-flex">
<NewPageSidebar
textButtonHandler={textButtonHandler}
imageButtonHandler={imageButtonHandler}
spacingButtonHandler={spacingButtonHandler}
/>
<NewPageContent blocks={blocks} />
</div>
);
};
export default NewPage;
出于某种原因,设置数组直接setBlocks(<TextBlock key={key} />);有效,但推送无效。我在这里做错了什么?
烙印99
千巷猫影
九州编程
随时随地看视频慕课网APP
相关分类