当Reaction组件中的按钮被按下时,我正在try 创建一个动态MUI网格元素.当我try 创建let newGrid = document.createElement('Grid')时,它不像正常的div创建那样工作.

有什么建议吗?

当前代码片段:

return (
    <>
        <button onClick={addRow}>Add Row</button>
        <Grid container className='v-timeline-container'>
            <Grid xs={12} item className="v-timeline-item v-center v-border">
                <TextItems />
            </Grid>
        </Grid>

    </>
   
)

我试图动态实现的目标是:

return (
    <>
        <button onClick={addRow}>Add Row</button>
        <Grid container className='v-timeline-container'>
            <Grid xs={12} item className="v-timeline-item v-center v-border">
                <TextItems />
            </Grid>
            <Grid xs={12} item className="v-timeline-item v-center v-border">
                <TextItems />
            </Grid>
        </Grid>

    </>
   
)
  

推荐答案

React使用VDOM在内部跟踪内容,直接使用DOMAPI操作DOM被认为是危险的.你应该怎么做,就像这样.

function App(){
 // you probably want to track the text items in each row, 
 // so use an array of objects
 const [gridItems, setGridItems] = useState([]);

 // this function adds a new grid item
 const onClick = () => {
  setGridItems([...gridItems, {text: "new row", id: gridItems.length + 1}]);
 };

 return (
    <>
         <button onClick={onClick}>Add Row</button>
         <Grid container className='v-timeline-container'>
          {
            gridItems.map(item => (
             <Grid xs={12} item className="v-timeline-item v-center v-border">
                <TextItems>{item.text}</TextItems>
             </Grid>
            ))
          }
         </Grid>
    </>
 );
}

Javascript相关问答推荐

fs. writeFile()vs fs.writeFile()vs fs.appendFile()

微软Edge编辑和重新发送未显示""

React Code不在装载上渲染数据,但在渲染上工作

html + java script!需要帮助来了解为什么我得到(无效的用户名或密码)

在open shadow—root中匹配时,使用jQuery删除一个封闭的div类

如何使用子字符串在数组中搜索重复项

是什么导致了这种奇怪的水平间距错误(?)当通过JavaScript将列表项元素追加到无序列表时,是否在按钮之间?

从Nextjs中的 Select 项收集值,但当单击以处理时,未发生任何情况

在VS代码上一次设置多个变量格式

在JS中动态创建对象,并将其追加到HTML表中

如何使用Astro优化大图像?

如何在Jest中模拟函数

AG-GRIDreact 显示布尔值而不是复选框

我的NavLink活动类在REACT-ROUTER-V6中出现问题

如何将字符串拆分成单词并跟踪每个单词的索引(在原始字符串中)?

递增/递减按钮React.js/Redux

我如何才能获得价值观察家&对象&S的价值?

单击时同时 Select 和展开可访问的行

响应,Use Callback更新状态变量,该变量也存在于其依赖数组中,它如何防止无限重新呈现?

制表机表宽度在第一次加载时缩小,拖动后正在调整