将React属性解构传递给组件

8
有没有一种方法可以在传递具有相同名称的props时使用es6简写?
const [showNavMenu, setShowNavMenu] = useState(false)

所以这样:

<NavMenu showNavMenu={showNavMenu} setShowNavMenu={setShowNavMenu} />

这将变成:

<NavMenu {showNavMenu} {setShowNavMenu} />

2
不是那样,但如果你把它们放到一个对象中,你可以写成 <NavMenu {...props} /> - Dave Newton
2个回答

12

如果不想使用额外的变量,可以这样做:

<NavMenu {...{showNavMenu, setShowNavMenu}} />

啊,那很有道理,我应该想到的! - Dave Newton

4
您可以始终使用spread操作符,这是我喜欢将props传递给组件的方式。
propsToPassthrough = {showNavMenu, setShowNavMenu}

那么

<NavMenu {...propsToPassthrough}>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接