首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将数据值从一个子组件传递给另一个子组件?

如何将数据值从一个子组件传递给另一个子组件?
EN

Stack Overflow用户
提问于 2020-10-10 07:47:01
回答 2查看 58关注 0票数 0

我有一个天气项目,我有两个组件。一个用于日间/夜间时间:SunriseSunset,另一个用于每日预报:DailyForecast。我需要将从SunriseSunset获得的时间值传递给DailyForecast

以下是两个可供参考的组件:

  1. SunriseSunset.js (第一个文件)->函数组件
代码语言:javascript
复制
const SunriseSunset = (props) => {

    const time2  = moment.tz(props.timezone).format('HH:mm')

   // I want to pass the time2 value in DailyForecast.js file
    
    return (
        <React.Fragment>

        
        </React.Fragment>
    ) 
}



export default SunriseSunset  
  1. DailyForecast.js (第二个文件)->类组件
代码语言:javascript
复制
export class DailyForecast extends Component { 

        return ( 
            <div>
            
            </div>
        )
    }
}

export default DailyForecast
EN

Stack Overflow用户

回答已采纳

发布于 2020-10-10 08:22:33

您应该将共享状态/数据提升到共同祖先。下面是一个实用的CodeSandbox示例。

代码语言:javascript
复制
const Parent = () => {
  const timezone = "Asia/Calcutta";
  const time2 = moment.tz(timezone).format("HH:mm");

  return (
    <>
      <SunriseSunset time={time2} />
      <br />
      <DailyForecast time={time2} />
    </>
  );
}

这是官方文档:提升状态

另外,如果您不想在多个级别上钻研道具,那么您应该考虑使用React上下文API或类似于Redux之类的东西来管理应用程序状态。Redux是一个健壮的状态容器,但对于您的用例来说,它可能有些过分。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64291189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档