class Home extends Component{
state = {items: []};
componentWillMount(){
axios.get('/api/test-thema')
.then(response => this.setState({item: Object.values(response.data)}));
}
render(){
const { user } = this.props;
return(
<div>
<Header/>
<h1>Добро пожаловать</h1>
<div>ФИО: {user.name}</div>
<div>Должность: </div>
<h3>Доступные тесты: </h3>
<ul>
{this.state.items.map((item) => (
<li key={item.id}><Link to='/test/'+{item.id}>{item.name}</Link></li>
))}
</ul>
<h3>Доступные тренинги: </h3>
</div>
);
}
}
payload: {value} // payload: {value: 'foo'}
payload: value // payload: 'foo'
Как решить данную проблему с React?Прочитать документацию.
return (
<div>
<h1> Hello</h1>
<section> Body</section>
</div>
)
может есть более изящное решение на React?Конечно есть. Вы в обработчике должны менять state, при изменении state будет вызван метод render и всё автоматически перерисуется. Вообще забудьте про работу с DOM, в этом весь смысл использования React.
class App {
constructor(props) {
super(props);
this.submitNote = this.submitNote.bind(this);
this.state = {
userInput: ``,
shouldShowElem: false,
};
}
submitNote() {
this.setState({
shouldShowElem: true,
});
}
render() {
return (
<div className="data">
Input here
{this.state.shouldShowElem &&
<div className="elem">{this.state.userInput}</div>
}
<button onClick={this.submitNote}>Click Me</button>
</div>
);
}
}
UsersList.propTypes = {
loading: PropTypes.bool
};