handleChange(e) {
e.preventDefault();
const value = e.target.value;
console.log(e.target.value);
this.setState(() => {
return { targetValue: value };
});
if (value.length > 0) {
this.setState((prevState) => {
const newUsers = prevState.users.filter((el) => {
return el.name.match(value);
});
console.log(newUsers);
return { users: newUsers };
});
}
if (value === "") {
axios
.get(`https://social-network.samuraijs.com/api/1.0/users?count=20`)
.then((response) => {
console.log(response);
this.setState(() => {
return { users: response.data.items };
});
}, () => console.log(this.state.users)); // тут будут новые users
}
console.log(this.state.users); // тут не будет новых users
}
sudo apt-get install gnome-tweak-tool
return {
...state,
basketItems: state.basketItems.map(n => n.id === action.id
? { ...n, clicked: !n.clicked }
: n
),
};
componentDidMount() {
if (this.props.users.length === 0) {
// запрос к api
}
}
const fadeoutModal = () => {
// через useState или еще как-то убираем класс visible
// чтобы произошла анимация
// когда анимация закончится, тогда убираем модал в родительском компоненте
setTimeout( props.setModalHidden, 300 )
}
.....
<div
className={classnames("modal", "visible", "fadeIn")}
onClick={fadeoutModal}
>
buttonClickHandler = id => {
const delay = randomTime();
setTimeout(() => {
this.setState({
array: [
...this.state.array,
`${asd()} Button ${id} was pressed with ${delay}s timeout`
]
}); // распаковываю массив array из стейта и добавляю "Нажата кнопка"
}, delay * 1000);
};
<textarea> Сюда </textarea>
let val = document.getElementById("my-area").value; // Ты инициализируешь переменную val и присваиваешь ей значение
console.log(val);
number = {константа}
и прибавляет к ней 1.number = {константа}
вне обработчика onclick:<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<button>Кнопка</button>
<script type="text/javascript">
let number = 0;
document.querySelector("button").onclick = function() {
number = number + 1; // Лучше "++number;"
alert(number);
}
</script>
</body>
</html>
const showBtn = (eventObj) => {
let btn = eventObj.target;
let answerArea = document.querySelector('.box_text');
answerArea.innerHTML = btn.value;
};
const clickBtn = () => {
let btns = document.getElementsByTagName('input'); // выбрали все кнопки
for (let i = 0; i < btns.length; i++) {
btns[i].onclick = showBtn;
}
};
window.onload = clickBtn;
let inps = document.querySelectorAll('input'),
txt = document.querySelector('.box_text');
inps.forEach((item) => {
item.addEventListener('click', targetItem)
})
function targetItem(event) {
let target = event.target;
txt.innerHTML = 'Результат: ' + target.value;
}