将数据从IndexedDB拉入数组并通过ReactJS输出

时间:2016-05-17 10:37:06

标签: javascript reactjs indexeddb react-jsx

我的实际Javascript代码如下:

var schoolsData = new Array();
myDB.schools
.each(function(school) {
    console.log('"' + school.title + '" wird auf den Array gepusht.');
    schoolsData.push(new Array(school.title, schools.schoolnumber, school.address, school.principal, school.email, school.creationdate, school.lastupdate, school.comment));
});
var SchoolsRender = React.createClass({
render: function() {
    return (
        <tr>
            {this.props.list.map(function(listValue){
                return <td>{listValue}</td>;
            })}
        </tr>
    )
}
});
ReactDOM.render(<SchoolsRender list={schoolsData} />, document.getElementById('schoolsDATA'));

正如您所看到的,我正在尝试从我的本地IndexedDB数据库中提取数据(我正在使用dexieJS)并通过ReactJS将其放入表元素中但没有出现任何内容。重点在哪里?

编辑:我认为问题基本上是我正在尝试输出那个3D数组。有没有简单而优雅的解决方案?

1 个答案:

答案 0 :(得分:0)

添加另一个组件RowRender以呈现单行。相应地修改SchoolsRender组件。

var RowRender = React.createClass({
    render: function() {
        return (
            <tr>
                <td>{this.props.title}</td>
                <td>{this.props.schoolnumber}</td>
                <td>{this.props.address}</td>
                <td>{this.props.principal}</td>
            </tr>
        )
    }
});
var SchoolsRender = React.createClass({
    render: function() {
        return (
            <table>
                {this.props.list.map(function(listValue,index){
                    return <RowRender key={index} title={listValue.title} schoolnumber={listValue.schoolnumber} address={listValue.address} title={listValue.address}  />;
                })}
            </table>
        )
    }
});