Я визначаю форму в Реагувати за допомогою Bootstrap і Redux з наступним кодом:
import React from "react";
import { FormGroup, ControlLabel, FormControl, HelpBlock, Button } from "react-bootstrap";
import { connect } from "react-redux";
import "./actions";
const _c = component => connect(s => s)(component);
const FieldGroup = ({ id, label, help, ...props }) => {
return (
<FormGroup controlId={id}>
<ControlLabel>{label}</ControlLabel>
<FormControl {...props} />
{help && <HelpBlock>{help}</HelpBlock>}
</FormGroup>
);
};
const LoginForm = _c(React.createClass({
render() {
return (
<form>
<FieldGroup
id="loginText"
type="text"
label="Text"
placeholder="Email"
value={this.props.user.email ? this.props.user.email[0] : ""}
/>
<FieldGroup
id="loginPassword"
label="Password"
type="password"
/>
<Button bsStyle="primary" bsSize="large">Login</Button>
</form>
);
}
}));
Це працює, і значення з'являється в полі "Ім'я користувача", але він не редагується. Я намагався змінити value={this.props.user.email ? this.props.user.email[0] : ""}
до defaultValue={this.props.user.email ? this.props.user.email[0] : ""}
і це робить його редагуванням, але значення за замовчуванням ніколи не з'являється. Що я роблю неправильно?
Відповіді:
0 для відповіді № 1(Я хотів би прокоментувати, але я ще не маю 50 реперів)
Схоже, ваше початкове значення може бути undefined
. Ти можеш console.log(this.props.user.email[0])
і побачите цю цінність?