【发布时间】:2018-12-20 02:58:37
【问题描述】:
我正在做一个 React 编码挑战,需要更新 onKeyUp 的值。我最初将其设置为更新 onChange,但测试需要 onKeyUp,所以我尝试将其更改为,但我的字段不再更新,我无法在 textarea 中输入任何内容。
class MarkdownApp extends React.Component {
constructor(props) {
super(props);
this.state = {
value: ''
};
this.handleKeyUp = this.handleKeyUp.bind(this);
}
handleKeyUp(event) {
this.setState({ value: event.target.value })
}
render() {
return (
<form>
<label>
Enter your markdown here:
<br />
<textarea value={this.state.value} onKeyUp={this.handleKeyUp} id='editor' />
<br />
</label>
<label>
Your markup will be previewed here:
<p id='preview'>{marked(this.state.value)}</p>
</label>
</form>
);
}
}
ReactDOM.render(
<MarkdownApp />,
document.getElementById('root')
);
就像我说的,当它是 onChange 并且我的函数是 handleChange 时,它工作得很好,但是因为我切换了它,所以我不能输入任何东西。
【问题讨论】:
-
@Cdhippen 你能发布
marked()函数吗? -
当您控制台记录handleKeyUp 中的event.target.value 时会发生什么?
-
删除文本区的
value={this.state.value}就可以了
标签: javascript html reactjs onkeyup