反应本机刷新组件

时间:2017-04-28 15:23:35

标签: javascript ios reactjs react-native

我的组件以这种方式成功渲染另一个组件:

const List = require('../List.js');

class MyComponent extends React.Component {
    constructor(props) {
        super(props);
        this.registerListner();
    }
    render() {
        console.log("MyComponent render");
        return (
            <List/>
        );
    }
    registerListener() {
        const emitter = new NativeEventEmitter(MyModule);
        emitter.addListener('onListChange',
            (element) => {
                this.setState({ elements: elements });
                console.log("receive elements: ", elements);
            }
        );
    }
}

module.exports = MyComponent;

现在,我如何再次渲染“传递”新元素的列表?

1 个答案:

答案 0 :(得分:3)

当通过setState更新状态时,react会再次自动调用render()方法。所以你需要做的就是:

render() {
    const {elements} = this.state;
    return (
        <List
            items={elements}
        />
    );
}

如果列表组件具有不同的属性名称以获取列表项,请将替换为该名称。