我希望在本机中有一个全局计数器,以显示用户在我正在创建的应用中有多少通知。
我在名为global.js的文件中创建了一个全局变量:
var notifNum = 0;
global.n = notifNum;
然后在我的代码中,我用
导入它import './global.js'
然后我尝试用
更新它 global.n = notifNum;
Notif num是用户在函数中定义的通知数。问题是global.n
保持为0,并且完全没有变化。
如何编辑global.n变量?
答案 0 :(得分:1)
有一种方法可以修改global.foo变量。
不工作
global.foo = 'foo'; //this cant be changed
global.foo = 'foofoo';
console.log(global.foo); //foo
可以工作
global.foo = ['foo']; //this can be changed
global.foo[0] = 'foofoo';
console.log(global.foo[0]); //foofoo
答案 1 :(得分:0)
这与React-Native关系不大,更多与javascript如何作为一种语言有关。
简而言之,您必须PUT _ingest/pipeline/transformFooBar
{
"processors": [
{
"set": {
"field": "Bar.Code",
"value": "{{_source.Bar}}"
}
}
]
}
POST _reindex
{
"source": {
"index": "foo_v1"
},
"dest": {
"index": "foo_v2",
"pipeline": "transformFooBar"
}
}
您希望在其他文件中使用的内容。
export
我们已经告诉JS引擎我们想要在其他文件中导入的内容。将其分配给对象并导出对象并不是必需的,但允许更清洁的导入/导出IMO。
let counter = 0;
const increment = () => {
counter++;
console.log('counter_updated', counter);
};
const worker = {
increment,
counter
};
module.exports = worker;
我们解构了导出的对象,现在可以修改/使用global.js文件中的值。
这不是一个理想的解决方案,因为它不是两种方式。增加import { counter, increment } from 'pathTo/global';
文件中的计数不会更新global.js
中的值。
这是因为React需要更新状态以启动组件的component.js
。
此外,这不会持续通过应用重新加载,我相信您会想要通知等。
re-render
来管理计数。state
或Redux