Задать вопрос

Как сделать начальное состояние checkbox?

this.props.checked хранит начальное состояние checkbox. Но в момент отрисовки он ещё пустой, в render( ) нельзя записывать state, Подскажите чё нить. Код ниже
export default class Checkbox extends Component {
    constructor(props) {
        super(props);

        this.state = {
            checked: this.props.checked
        }

        this.onChange = this.onChange.bind(this);
    }
    onChange(event) {
        let checked = event.target.checked;
        if( this.props.func )
            this.props.func(checked);


        this.setState({checked});
    }
    render() {
        const { name, children } = this.props;

        return(
            <label className="checkbox">
                <input name={name} type="checkbox" className="checkbox__input" onChange={this.onChange} checked={this.state.checked} />
                <span className="checkbox__text">{children}</span>
            </label>
        )
    }
}
  • Вопрос задан
  • 350 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
gadfi
@gadfi
https://gamega.org
<input type="checkbox" defaultChecked={checked} />
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽