我的组件以这种方式成功渲染另一个组件:
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;
现在,我如何再次渲染“传递”新元素的列表?
答案 0 :(得分:3)
当通过setState更新状态时,react会再次自动调用render()方法。所以你需要做的就是:
render() {
const {elements} = this.state;
return (
<List
items={elements}
/>
);
}
如果列表组件具有不同的属性名称以获取列表项,请将项替换为该名称。