const states = ['', 'Moscowskaya'];
const cities = {
'Moscowskaya': ['Moscow']
};
const Selects = React.createClass({
getInitialState() {
return { state: '' };
},
_onStateChange(event) {
this.setState({ state: event.target.value });
},
render() {
return (
<div>
<select onChange={this._onStateChange}>{states.map((state) => <option key={state} value={state}>{state}</option>)}</select>
{this.state.state ? <select>{cities[this.state.state].map((city) => <option key={city} value={city}>{city}</option>)}</select> : null}
</div>
);
}
});
for
на элементе label
в JSX должен быть записан как htmlFor
. Вот здесь есть список всех тегов и атрибутов в JSX: https://facebook.github.io/react/docs/tags-and-att... overflow: hidden
на контейнер, внутрь положить изображение и задать ему координаты так, что бы в контейнере показалась только та его часть, которая вам нужна. <InputValidator />
который оборачивает поле ввода и имеет в себе логику валидации. В этот компонент можно передать правила валидации (pattern, length, и т.д.), а на onChange
уже делать dispatch и обновлять глобальное состояние.onChange
, вторым параметром, после события, или добавлять в объект события.label
, таков стандарт и это автоматически делает поле формы более доступным.Object.keys(obj).map(key => obj[key].author); // returns array of author names
render() {
let component = true ? <Comp1 /> : <Comp2 />;
return (
<div>{component}</div>
);
}