javascript - 如何在其他文件中调用函数的getter
问题描述
我的 index.js 中有这个功能:
import React, { useState, useEffect } from 'react';
export const getters = {
aPrice:null,
bPrice:null
}
const setters = {
aPrice:null,
bPrice:null
}
export const Toto = () => {
[getters.aPrice , setters.aPrice] = useState(null);
[getters.bPrice , setters.bPrice] = useState(null);
// runs once
useEffect(() => {
setters.aPrice(50));
setters.bPrice(40);
}, []);
return (
<SectionWrapper>
...
</SectionWrapper>
)
}
我想在这个文件 main.js 中获得 aPrice :
所以我已经导入了这个:import {Toto, getters} from
index.js
当我试图安慰它时:
console.log(getters.aPrice);
我有价值null
吗?
解决方案
问题
- aprice 和 bprice 未设置。
解决方案
删除这部分。
const setters = {
aPrice:null,
bPrice:null
}
并使用这部分来设置数据。
export const Toto = () => {
[getters.aPrice , setAprice] = useState(null);
[getters.bPrice , setBprice] = useState(null);
// runs once
useEffect(() => {
setAprice(50));
setBPrice(40);
}, []);
return (
<SectionWrapper>
...
</SectionWrapper>
)
}
推荐阅读
- swift - 音频在模拟器中播放,但不在设备上
- python - 从 qml 获取委托 objectName 到 python
- xslt - 动态生成 kml 时的命名空间问题
- python - Python如何检查脚本是否已经结束
- excel - 如何在多个 Excel 文件中共享重复代码?
- excel - VBA选择透视报告过滤器中大于/小于数字的所有项目
- angular - 如何为图标提供工具提示并在制表符中合并两列
- xml - 将自定义文件添加到 Nuget 包中,以便它们出现在根目录中?
- java - 无法将 Spring boot 2.1.4 应用程序部署到 WAS 9
- react-native - React-Native:防止 FlatList 渲染视口之外的任何内容