Я пытаюсь связать значение с div с ответом, чтобы я мог поддерживать состояние для этого элемента (например, включено-выключено). Похоже, я должен использовать LinkedStateMixin , но мой эксперимент ниже доказывает, что реакция не поддерживает произвольные атрибуты для элементов уровня блока. Оба элемента имеют значения по умолчанию, но div e.target.value возвращает undefined из своего обработчика onclick, тогда как значение входного элемента было правильно установлено. Любая идея, как привязать данные к div? Благодаря!React.js двусторонняя привязка к элементам блока
var Component = React.createClass({
mixins: [React.addons.LinkedStateMixin],
getInitialState: function() {
return {message: 'Hello!'};
},
render: function() {
var valueLink = this.linkState('message');
var handleClick = function(e) {
console.log(e.target.value);
valueLink.requestChange(e.target.value);
};
return (
<div>
<input type="text" onClick={handleClick} defaultValue={valueLink.value} />
<div onClick={handleClick} defaultValue={valueLink.value}>
{this.state.message}
</div>
</div>
);
}
});
React.render(<Component />, document.body);
Что вы пытаетесь сделать? Я не вижу, почему вы пытаетесь предоставить значение/defaultValue для div ... divs не поддерживают свойство value. – FakeRainBrigand
@FakeRainBrigand Я пытаюсь создать тумблер без входных элементов. Я знаю, что div не поддерживает свойство value, но я думал, что valueLink может создать свою собственную ссылку на значение независимо от типа элемента. Я просто хотел сохранить значение класса в элементе. Но, поговорив с моим приятелем, я понимаю, что мне нужно изменить парадигму в соответствии с описанными здесь взаимодействиями: http://facebook.github.io/react/docs/thinking-in-react.html Спасибо. – 4m1r