Javascript 在React Redux应用程序中,在何处放置实用程序函数?
在React Redux应用程序中,我的状态如下:Javascript 在React Redux应用程序中,在何处放置实用程序函数?,javascript,oop,reactjs,redux,utility-method,Javascript,Oop,Reactjs,Redux,Utility Method,在React Redux应用程序中,我的状态如下: state = { items: [ { id: 1, first_name: "John", last_name: "Smith", country: "us" }, { id: 2, first_name: "Jinping", last_name: "Xi", country: "cn" }, ] } 我使用React组件渲染它 现在我需要一个函数,它可以给我一个人的“全名”。因此,这不仅
state = {
items: [
{ id: 1, first_name: "John", last_name: "Smith", country: "us" },
{ id: 2, first_name: "Jinping", last_name: "Xi", country: "cn" },
]
}
我使用React组件渲染它
现在我需要一个函数,它可以给我一个人的“全名”。因此,这不仅仅是“姓氏+姓氏”,而是取决于国家(例如,在中国是“姓氏+姓氏”),因此有一些相对复杂的逻辑,我想将其封装在一个可以从任何React组件使用的函数中
在OOP中,我将创建一个Person::getFullName()
方法来提供这些信息。但是,状态
对象是一个“哑”对象,其中子对象没有任何专门的方法
那么,在React Redux中,通常推荐的管理方法是什么?我所能想到的就是创建一个全局函数,比如
user\u getFullName(user)
,它将接受一个用户并返回全名,但这不是很优雅。有什么建议吗?我遵循在我的应用程序中为此类案例创建库的方法,到目前为止,这对我来说非常有效
在这种情况下,我将创建一个新模块,例如{ComponentRoot}/lib/user.js
,根据具体情况导出函数getFullName(user)
,或者可能导出getFullName(firstName,lastName,country)
现在只需导入需要功能的模块,无需全局功能:
import React from 'react'
import {getFullName} from '../lib/user'
const Title = ({user}) =>
<div>
{getFullName(user)}
</div>
从“React”导入React
从“../lib/user”导入{getFullName}
常量标题=({user})=>
{getFullName(用户)}
我们将库文件夹放在与components文件夹等相同的级别上,但任何最适合您的都应该这样做。首先。 一些著名的样板项目将代码放入
utils/
文件夹:
- src/
- 组成部分/
- 还原剂/
- utils/
- 组成部分/