Мой элемент ввода не позволяет мне вводить его, он будет отображаться со значением, которое я хочу, но я не могу удалить или отредактировать что-либо во вводе. Все написано правильно из того, что я видел.
Я гуглил и искал несколько форм SO, никто не смог мне помочь. Вот почему я спрашиваю сейчас
const GuestName =(props)=>{
if (props.isEditing){
return(
<form>
<input type='text' className='edit-guest-input'
value = {props.guestName} onChange = {e => props.editGuest(e.target.value)}/>
</form>
)
}
return (
<span>{props.guestName}</span>
)
}
выше это вход, который не будет работать
editGuest=(id, name)=>{
this.setState({
guest: this.state.guest.map((guest) =>{
if (id===guest.id){
return{
...guest,
name
}}
return guest
})
})
}
это код события onChange.
const GuestList =(props)=>
<div>
<ul>
{props.guest.filter( guest => !props.filterUnconfirmedGuest || guest.isConfirmed)
.map((guest, index) => <Guest
key = {index}
guestName = {guest.guestName}
toggleGuestConfirmed = {props.toggleGuestConfirmed}
isConfirmed = {guest.isConfirmed}
toggleEditGuest = {()=> props.toggleEditGuest(guest.id)}
isEditing = {guest.isEditing}
editGuest = {editedName=> props.editGuest(editedName, guest.id)}
removeGuest = {()=> props.removeGuest(guest.id)}
/>)}
</ul>
</div>
Здесь передается первый аргумент
Вероятно, небольшая проблема, которую я слишком устал, чтобы заметить, лол. Любая помощь приветствуется, спасибо за ваше время!
Это было передано в родительский компонент, извините, я должен был опубликовать это, а не мой компьютер, иначе я бы
Можете ли вы показать нам, где отображается идентификатор? скорее всего баг из-за этого
Я обязательно буду, я сейчас в отъезде, но когда я вернусь домой
Я обновил его кодом, чтобы показать первый переданный аргумент
в editGuest разве не должно быть guestName: name?
АГА!! омг, я такой тупой... ошибка новичка. Слишком устал, спасибо @MatinSasan!!!!!
Не могли бы вы принять мой ответ, пожалуйста: D @Jay



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы вызываете функцию editGuests с одним аргументом
onChange = {e => props.editGuest(e.target.value)}
Но у него есть два аргумента в определении
editGuest=(id, name)=>{
}
Он передается в родительский компонент. Я выложу этот код, как только вернусь домой
если он прошел, то вы должны добавить его здесь. onChange = {e => props.editGuest(passedValue, e.target.value)}
Вы не можете вызвать editGuest с одним аргументом, как это определено с двумя.
Я обновил его кодом, чтобы показать первый переданный аргумент, это работает?
Думаю в editGuest должно быть guestName: name :)
один аргумент против 2 аргументов