reactjs - 使用 React 从 Firebase 加载数据
问题描述
我有一个带有患者名单的火力基地位置
我正在尝试引用此位置并将其保存为我的反应组件的状态,以便稍后传递给下拉列表。我对 REACT 很陌生,所以我不确定这是否是最好的方法。
import * as firebase from "firebase";
class App extends Component {
constructor() {
super();
this.state = {
patient: []
};
}
componentDidMount() {
let patientList = "";
var rootRef = firebase
.database()
.ref()
.child("patient");
rootRef.on("child_added", snap => {
this.setState({
patient: snap.val().label
});
});
}
render() {
return (
<React.Fragment>
<li>{this.state.patient}</li>
</React.Fragment>
);
}
}
但是,此代码仅返回 firebase 位置中的最后一个标签。请帮忙。
解决方案
试试这个
rootRef.on("child_added", snap => {
// Store all the labels in array
var patients = [];
snapshot.forEach(function(snap){
var row = snap.val();
patients.push(row.label);
});
// Store label array into state
this.setState({
patient: patients
});
});
推荐阅读
- python - 使每个数字的值不超过 90
- c++ - 二维绘图软件如何处理光栅图形的旋转?
- javascript - 如何使用@storybook/addon-docs/blocks
用于常规故事中的 Vue 组件? - rasa-nlu - Rasa 核心:多个话语不起作用
- javascript - 错误:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)React JS
- php - PHP 上的 JSON 数组排序
- c++ - 使用 std::vector 导致未知输出 C++
- python - [[0 for x in range(n)] for x in range(n)] 和 m=[[0]*n]*n 有什么区别
- python - 当我运行暗网 Yolov3 时,为什么在我的 linux 终端上的 yolo.py 中出现 AttributeError?
- linux - 错误:/lib64/libc.so.6:未找到版本“GLIBC_2.14”