当属性发生变化时,如何在React JS中重新呈现组件列表?

oxiaedzo  于 2022-11-17  发布在  React
关注(0)|答案(1)|浏览(118)

我希望你们都做得很好。我有一个问题,当一个列表中的组件的属性改变时,它们不会重新呈现。

setTestFs([...testFs, <TestFunction t={test}/>])

这是用于将组件分配给列表的行。每个组件都使用test作为其't'属性。

function RenderTestFunctions({ts}) {
    return (
        ts.map((e, index) => {
            return (
                <div key={index}>
                    {e}
                </div>
            )
        })
    )
}

function TestFunction({t}) {
    console.log('just rendered + ' + t)

    return (
        <h1>{t}</h1>
    )
}

RenderTestFunctions会呈现所有TestFunction组件。
由于某种原因,每当我更新测试值时,没有一个组件重新呈现,即使RenderTestFunctions确实呈现了。有人知道当一个道具改变时,我如何重新呈现列表中的所有组件吗?

  • 请询问您是否需要任何说明。感谢您抽出时间查看此问题!*
gorkyyrv

gorkyyrv1#

你可以使用useEffect钩子,它的主要目的是解决问题,并在注意到任何变化时执行操作。你可以像这样使用-

useEffect(()=>{
if(t!== null || undefined||""){
TestFunction({t})
}
},[testFs,test])

在使用效果时,数组可以帮助触发特定的函数。而在箭头函数中,你可以创建自己的函数。如果你还面临着只是告诉我,我会帮助你更多。谢谢

相关问题