当前位置: 首页 > 面试题库 >

在React中组件之间共享功能的正确方法

穆睿才
2023-03-14
问题内容

我有多个组件都需要做同一件事。(一个简单的函数可以映射其子组件,并对每个子组件执行某些操作)。目前,我正在每个组件中定义此方法。但是我只想定义一次。

我可以在顶层组件中定义它,然后将其作为道具传递。但这并不完全正确。它更多的是库功能而不是道具。(在我看来)。

正确的做法是什么?


问题答案:

如果您使用诸如browserify之类的东西,那么您可以拥有一个外部文件,即util.js,该文件可以导出一些实用程序功能。

var doSomething = function(num) {
 return num + 1;
}

exports.doSomething = doSomething;

然后根据需要

var doSomething = require('./util.js').doSomething;


 类似资料:
  • 问题内容: 我正在开发使用Meteor和React作为视图引擎的应用程序 考虑下图: 从另一个示例反应隐藏组件 当触发C4按钮单击事件时,我需要更改C2组件状态。由于他们没有直接关系,因此我无法直接从C4进入C2状态。 另一个示例是从Component提交表单并获取在另一个Component中声明的数据(输入字段的值)。 我知道可以通过一些技巧来解决此问题(例如,流星会话,通过每个组件传递数据,基

  • 我有一组组件呈现同一页面的不同部分。只要在其中一个内部提交操作,就应该锁定其他的操作(应该通过它们传播一个volatile标志,并触发一个禁用所有元素的javascript函数) 页面组件: 有什么想法吗?我是新手,任何提示都会有帮助。

  • 问题内容: 我正在Python中进行多处理实验,并试图在两个进程之间共享一个字符串数组。这是我的python代码: 运行脚本时,我看到该脚本已正确填充,并且可在中找到,但不能在中找到。结果如下: 我忽略了什么吗? 预先感谢您的反馈。:) 问题答案: 我的猜测是: 存储3个指针。将它们分配给当前进程之外没有意义的内存地址。尝试访问此时包含垃圾邮件的无意义地址。 分配对所有过程都有意义的值似乎有帮助:

  • 问题内容: 我有2个需要共享状态的React组件,react- router显示了组件A,该组件接受一些输入并将其添加到其状态,在状态成功更新后,我想重定向到组件B,用户在其中添加在我向我的api提交发布请求以保存来自组件A和B的数据之前,使用一些更多的输入并更新与组件A相同的状态以使用来自A和B的输入来构建对象。如何做到这一点,使用react- router的方式,还是我必须在组件之间设置父/子

  • 我有一个关于ReactJS和组件的问题,特别是关于函数如何在组件系统中交互。 在这个例子中: ComponentA导入pp.js,并尝试将App.functionA分配给函数B,然后在JSX中调用它。这会导致失败,基本上就是说函数没有定义。 我知道这不是功能共享的方式(我已经学习了如何通过道具等传递功能)。 我只是想知道为什么这不起作用,以帮助我更好地理解React和Javascript的机制。

  • 在Angular 1.x.x中,您只需请求相同的服务,并以相同的实例结束,这使得在服务中共享数据成为可能。 现在在Angular 2中,我有了一个引用我的服务的组件。我可以读取和修改服务中的数据,这很好。当我试图在另一个组件中注入相同的服务时,似乎得到了一个新的实例。 我做错了什么?是模式本身有问题(使用服务共享数据)还是我需要将服务标记为单例(在应用程序的一个实例中)或其他? 我在 btw上 我