Я новичок в React Js, и я хочу создать несколько кнопок, таких как ссылка. Может ли кто-нибудь помочь мне. Будет очень полезно понять операторы и компоненты.
http://noxious-ornament.surge.sh/
я пытаюсь написать что-то вроде этого, но я не знаю, как продолжить.
import React, { Component } from 'react'
import './Ar.css';
class Ar extends Component {
constructor() {
super();
this.state = {
buttonPressed: 0
// 0 could be your default view
}
}
handleClick = (button) => {
this.setState({ buttonPressed: button })
}
render() {
return(
<div>
<button
className='button1'
onClick = {() => this.handleClick(1)}
> BUTTON 1
</button>
<button
className='button2'
onClick = {() => this.handleClick(1)}
> BUTTON 2
</button>
<button
className='button2'
onClick = {() => this.handleClick(1)}
> BUTTON 3
</button>
}
</div>
)
}
}
export default Ar
Отвечает ли это на ваш вопрос? ReactJS перебирает массив состояний с динамическим ключом со своими данными
Вы можете иметь переменную состояния в виде массива:
this.state = {
buttonPressed: 0,
burronArray:[
{
id : 1,
name : "Button 1"
},
{
id : 2,
name : "Button 2"
},
]
}
и в функции рендеринга:
render() {
return(
<div>
{this.state.buttonArray.length > 0 ? buttonArray.map((button, index) => return(
<button
key = {index}
value = {button.id}
className='button1'
onClick = {() => this.handleClick(1)}
> {button.name}
</button>
)) : null}
</div>
)
}
извините, но у меня ошибка, похоже, это не работает :( не могли бы вы прислать мне это как коды и или на jsfiddle
Это начало. Затем я бы добавил react-router-dom, чтобы вы могли загрузить компонент SomePage
.
const {Component} = React;
function SomePage(props){
return (
<div>
Button {props.value} has been pressed!
<button>back</button>
</div>
)
};
class App extends Component {
constructor() {
super();
this.state = {
buttonPressed: 0,
buttonCount: [1,2,3,4,5]
}
}
handleClick = (event) => {
this.setState({ buttonPressed: event.target.id });
}
render() {
return(
<div>
{this.state.buttonCount.length > 0 ? this.state.buttonCount.map((item,index) => (
<button id = {item} key = {index} onClick = {()=>this.handleClick} className = {`button${item}`}>
{item}
</button>
))
: null
}
</div>
)
}
}
// Render
ReactDOM.render(
<App />,
document.getElementById("react")
);
.button1 {
background-color: green;
}
.button2 {
background-color: blue;
}
.button3 {
background-color: red;
}
.button4 {
background-color: yellow;
}
.button5 {
background-color: purple;
}
<div id = "react"></div>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
я понял, наконец, большое спасибо за вашу помощь
Здравствуйте, добро пожаловать в stackoverflow! Взгляните на stackoverflow.com/help/how-to-ask Вам нужно включить некоторую работу/код, чтобы получить лучший ответ