我有多个组件都需要做同样的事情.(一个简单的函数,映射到它们的子组件上,并对每个子组件执行某些操作).目前,我正在每个组件中定义这个方法.但我只想定义一次.

我可以在顶层组件中定义它,然后将其作为props 传递下go .但这感觉不太对.与其说是props ,不如说是图书馆的功能.(在我看来).

正确的方法是什么?

推荐答案

如果您使用类似于browserify的东西,那么您可以拥有一个外部文件,即util.导出一些实用函数的js.

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

exports.doSomething = doSomething;

然后根据需要要求

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

Reactjs相关问答推荐

useLazyQuery不会更新所有组件之间的数据

为什么我的功能React组件中的setInterval只更改一次值?

react 表复选框不对任何操作做出react

For循环中的元素在Reaction中丢失挂钩

react 路由GUGUD Use Effect无法通过useNavigate正常工作

当列表中的项的顺序改变并且使用唯一键作为它们的索引时,Reaction如何看待呈现方面?

错误:操作必须是普通对象.使用自定义中间件进行异步操作. Redux/工具包

Symfony ux-react:使用react_component()时React组件不会渲染

在 React 中将 MUI 样式外包到单独的文件中?

修改React数据表扩展组件

是否可以直接在 jsx 标签上使用 CSS 定义的 colored颜色 ?

React中的功能性组件克隆优化

React Router v6 路径中的符号

使用 MuiCssBaseline 在所有 MUI v5 标签上设置边距 0

在 React 中使用复选框管理状态

无法在 reactJS 中使用空包装器 <>

谁能根据经验提供有关 useEffect 挂钩的更多信息

React Router v6 - 访问嵌套路由和处理手写 url 的正确方法

如何在 v6.4 中将 Auth0 提供程序与新的 createBrowsereRouter 一起使用?

Lodash 在命名导入中导入整个包