javascript - react.js 在组件中使用常量值的最佳实践是什么
问题描述
如果子组件需要一个全局可设置的常量,例如可用的预订时间,例如:SESSION_ RANGE = [9, 17]
.
我需要先把它解析成一个函数(sessionCreator
)。子组件真正接受的是一个对象数组(sessionData)。
然后我需要在父组件中使用它:
const sessionData = sessionCreator(SESSION_RANGE);
但是,我可以选择以下几个选项: 1. 在父组件的 render() 内部。2.在类里面创建一个getSessionData
函数,然后在函数里面使用上面的代码getSessionData
。
鉴于此用例,用于父组件的最佳实践是什么?
const sessionData = sessionCreator(SESSION_RANGE);
import { SESSION_RANGE } from '../../constants/setting';
import { sessionCreator } from '../../utils/function';
//option3
class Parent extends Component {
//option2
render(){
// option 1
return (
<Child dataSource={sessionData} />
)
解决方案
如果这是恒定的并且永远不会改变,那么我会将它放在组件之外,因为当组件重新呈现时 - 将无缘无故地重新创建常量。
推荐阅读
- python - 如何使用 pandas 将两个 CSV 文档合并在一起并绘制条形图?
- node.js - 将 axios.get 请求分块,每个块延迟 1 秒 - 目前出现 429 错误
- mongodb - 如何使用 MongoDB 中的单个管道计算多个字段的频率?
- python - 如何将数组中的整数值分配给字符串数组
- elasticsearch - 每个系列的 Grafana 警报
- react-native - 无法解析模块 @react-native-masked-view/masked-view 2021
- openstack - Openstack Nodepool 在 Zuul CI 设置中为 VM 分配公共 IP
- visual-studio-code - 带有目录的VSCode打开终端似乎不起作用
- amazon-web-services - lambda 和 fargate 错误/超时
- spring-batch - Spring Batch 使用 JDBCCursorItemReader:不提取指定块大小的所有记录