我尝试制作我的“智能”弹出组件,它可以在自身内部打开一些组件,但我的实现并不好,因为它不起作用。
我使用 redux 方法来创建弹出窗口,并且打开弹出窗口的操作能够在弹出窗口打开之前获取要渲染的任何组件的名称;
但是我有一些问题,在获取参数后,在我们的例子中它是nameOfComponent,我需要选择并渲染名称为nameOfComponent 的组件。
现在我的问题是,它如何从数组渲染组件?
// He's my components
import Login from '../Login/login.js';
import Logout from '../Logout/logout.js';
const popupContent = {
Login : Login,
logout: Logout
};
// My component
class Popup extends Component {
componentDidUpdate () {
// for example
const nameOfComponent = "Login";
this.body = this.setBodyPopup(nameOfComponent);
return true;
}
setBodyPopup(property){
return popupContent[property];
}
render() {
// I want to render some element from popupContent here
<div>
// <this.body /> // it's jsx format
{this.body}
</div>
}
}