Итак, я хочу создать и отобразить элемент JSX на основе 'this.props.x', где этот 'this.props.x' является состояние передано из app.jsx.Как динамически создавать и визуализировать элементы JSX, определенные из этого.props с реагированием
У меня есть обходное решение, которое отлично работает, но оно действительно уродливое! Вот почему я ищу более элегантный способ сделать это.
Так как я это сделать сейчас, с, если/иначе, как так:
import React from 'react'
import Team from './inMenuTeam.jsx';
import News from './inMenuNews.jsx';
export default class GameArea extends React.Component{
GameStage(page){
if(page == 'News'){
return <News />
}
else{
return <Team />
}
}
render(){
return(
<div>
{this.GameStage(this.props.newStage)}
</div>
);
}
};
Что я хочу сделать я что-то вроде этого:
export default class GameArea extends React.Component{
GameStage(page){
return <page />
}
render(){
return(
<div>
<GameMenuLeft handleMenuClick={this.props.handleMenuClick.bind(this)} />
{this.GameStage(this.props.newGameAreaStage)}
</div>
);
}
};
Если «страница» элемент - это prop, передаваемый родительским файлом jsx. Выше код не работает, но также не дает мне ошибки, поэтому у меня возникает ощущение, что я близок к желаемому решению.
Спасибо :)
(ДОПОЛНЕНО) Оглядываясь назад, я понимаю, что то, что я был на самом деле искали, был реагировать-маршрутизатор
Это идеально! Чистое, легко читаемое и весы действительно хорошо. Спасибо Andy_D – Filtenborg