我如何从另一个组件访问成帧器钩子

问题描述 投票:0回答:1

我在文件carousel.tsx中设置了useState Hook

export function Carousel({ children }) {
    //Set Active State Carousel Item
    const [active, setActive] = React.useState("default")

    //Create Props for Carousel items
    function makeProps(title) {
        return {
            title: title,
            active: active,
            onTap: () => {
                setActive(title)
            },
        }
    }
  .
  .
  .

    return (
        <CarouselItem {...makeProps(child.props.name)} />
        <CarouselItem {...makeProps(child.props.name)} />
        <CarouselItem {...makeProps(child.props.name)} />
    )
}

现在,在我的App.tsx上有一个框架,点击我想将其重置为默认状态。

export function defaultState(): Override {
    return {
        onTap: () => {
            //Reset to default state
        },
    }
}

如何从App.tsx访问挂接状态,以便可以重置状态?

reactjs framerjs
1个回答
0
投票

[如果您想在没有Redux或Mobx等任何状态管理库的情况下使用React,您有两种方法:

  1. 将useState移至App.tsx并将setActive传递给任何子组件
  2. 与第一种方法类似,但仅在上下文中存储数据,如果您需要将数据传递到深层组件,则很有用

[如果有状态管理您可以将活动项目存储在Redux存储中,并通过操作从项目的任何部分进行更新。与mobx相同[]

© www.soinside.com 2019 - 2024. All rights reserved.