如何使用 Mobx / Firebase 更新 Material-UI table
How to update Material-UI table with Mobx / Firebase
我需要使用从 Firebase 获取的 MobX 存储更新 Material-UI table。到目前为止,table 使用 Firebase 数据更新了 'symbol' 列,但其他列是通用的。
let id = 0;
function createData(symbol, date, cost, quote, pl) {
id += 1;
console.log(symbol, date, cost, quote, pl)
return { id, symbol, date, cost, quote, pl };
}
var returnArr = [];
export function getOpenTrades(user){
db.ref('/users/' +user+ '/mocktrades/holdings/').once("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
console.log('childSnapshot',childSnapshot.val()) // <----------- shown below
let newData = createData(childSnapshot.key, '01012001', 0.01, 100, 100-0.01)
returnArr.push(newData);
})
})
console.log('returnArr',returnArr)
return(
returnArr
)
}
请帮我直接获取开盘日期、开盘价格和数量。如您所见,该符号是用 childSnapshot.key 引用的。这三个项目在一个推送中;我们可以使用 .next() 之类的东西访问该推送 ID ... 而不必知道推送 ID 是什么吗?
试试 createData(childSnapshot.key, childSnapshot.dateOpened, childSnapshot.priceOpened childSnapshot.quantity);
解决方案是在 childSnapshot 上执行 forEach:
let id = 0;
function createData(symbol, date, cost, quote, pl) {
id += 1;
console.log(symbol, date, cost, quote, pl)
return { id, symbol, date, cost, quote, pl };
}
var returnArr = [];
export function getOpenTrades(user){
db.ref('/users/' +user+ '/mocktrades/holdings/').once("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
childSnapshot.forEach(function(item) {
var itemVal = item.val()
let newData = createData(childSnapshot.key, itemVal.dateOpened, itemVal.priceOpened, 100, 100-itemVal.priceOpened)
returnArr.push(newData);
})
})
})
console.log('returnArr',returnArr)
return(
returnArr
)
}
我需要使用从 Firebase 获取的 MobX 存储更新 Material-UI table。到目前为止,table 使用 Firebase 数据更新了 'symbol' 列,但其他列是通用的。
let id = 0;
function createData(symbol, date, cost, quote, pl) {
id += 1;
console.log(symbol, date, cost, quote, pl)
return { id, symbol, date, cost, quote, pl };
}
var returnArr = [];
export function getOpenTrades(user){
db.ref('/users/' +user+ '/mocktrades/holdings/').once("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
console.log('childSnapshot',childSnapshot.val()) // <----------- shown below
let newData = createData(childSnapshot.key, '01012001', 0.01, 100, 100-0.01)
returnArr.push(newData);
})
})
console.log('returnArr',returnArr)
return(
returnArr
)
}
请帮我直接获取开盘日期、开盘价格和数量。如您所见,该符号是用 childSnapshot.key 引用的。这三个项目在一个推送中;我们可以使用 .next() 之类的东西访问该推送 ID ... 而不必知道推送 ID 是什么吗?
试试 createData(childSnapshot.key, childSnapshot.dateOpened, childSnapshot.priceOpened childSnapshot.quantity);
解决方案是在 childSnapshot 上执行 forEach:
let id = 0;
function createData(symbol, date, cost, quote, pl) {
id += 1;
console.log(symbol, date, cost, quote, pl)
return { id, symbol, date, cost, quote, pl };
}
var returnArr = [];
export function getOpenTrades(user){
db.ref('/users/' +user+ '/mocktrades/holdings/').once("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
childSnapshot.forEach(function(item) {
var itemVal = item.val()
let newData = createData(childSnapshot.key, itemVal.dateOpened, itemVal.priceOpened, 100, 100-itemVal.priceOpened)
returnArr.push(newData);
})
})
})
console.log('returnArr',returnArr)
return(
returnArr
)
}