2

如您所料,我是 JS 的新手,尤其是 React 的新手。

我有一个变量list来保存我的计算。我有一个用于拖放和表单的处理程序,但是当数据更新时,react 仍然不知道这一点。

我应该使用一些特殊的命令来更新 this.props.data 还是更好的方法是在 React 组件中编写所有逻辑?

顺便说一句,listruns[]. 每个run都有idballs[]ballcountervalue。_

/** @jsx React.DOM */

var Table = React.createClass({
    render: function() {
        return  (<table className='table table-bordered bg-success'>
        {this.props.data.map(function (run){
            return <TablesRun runId={id}/>;
        })}
            </table>);
        }
});

var TablesRun = React.createClass({
    render: function() {
        return  <tr className='bg-warning'>
                    <td>
                        <span className='badge'>{this.props.runId}</span>ff
                    </td>
                </tr>;
    }
});

React.renderComponent(<Table data={list.runs}/>,
    document.getElementById('runTable'));

在此处输入图像描述

4

2 回答 2

3

如果你在listReact 组件之外更新变量,你需要告诉 React 再次渲染。React 不使用数据绑定来知道你已经修改了一个变量。

只需React.renderComponent(<Table data={list.runs}/>, document.getElementById('runTable'));再次调用,React 就会使用新的 prop 值更新 DOM。

于 2014-07-29T18:14:37.263 回答
0

我应该使用一些特殊的命令来更新 this.props.data

是的,使用setProps而不是直接更新对象。但是,请注意文档页面上的警告:setProps通常不需要调用,并且仅适用于根组件。

于 2014-07-28T19:51:09.407 回答