Почему не вводится значение в поле input? React
Проблема, не вводится значение в поле input:
<input onChange={input.onChange} value={input.value} />
У преподавателя даже использовался более современный синтаксис:
<input {...input} />
но и он не работает.
Заранее благодарю за помощь
import React from 'react';
import {Field, reduxForm} from 'redux-form'
class StreamCreate extends React.Component{
renderInput({input,label}){
return (
<div className="field">
<label htmlFor="">{label}</label>
<input onChange={input.onChange} value={input.value}/>
</div>
)
}
render() {
return (
<form className="ui form">
<Field name="title" component={this.renderInput} label="Enter Title"/>
<Field name="description" component={this.renderInput} label="Enter Description"/>
</form>
)
}
}
export default reduxForm({
form:'streamCreate',
})(StreamCreate);
Ответы (1 шт):
Автор решения: Vasily
→ Ссылка
Общий принцип работы:
const YourComponent = () => {
const [value, setValue] = useState()
const handleChange = event => {
setState(event.target.value)
}
return <input value={value} onChange={handleChange} />
}
Если Вы передаете state и функцию для его изменения через props, то:
const anotherComponent = ({ value, handleChange }) => {
return <input value={value} onChange={handleChange} />
}
Вопрос в том КАК именно Вы передаете что то через props?
Цитата из комментария автора:
Вы задали хороший вопрос, я тоже задумался "откуда" на самом деле, и понял что в
combineReducersне хватает чего-то (...что и решило проблему).