gpt4 book ai didi

javascript - 无法在 React 输入文本字段中输入

转载 作者:IT王子 更新时间:2023-10-29 02:45:46 25 4
gpt4 key购买 nike

我正在尝试我的第一部分 React.js 并且很早就被难住了......我有下面的代码,它将搜索表单呈现为 <div id="search"></div> .但是在搜索框中输入没有任何作用。

大概在上下传递 props 和 state 时缺少某些东西,这似乎是一个常见问题。但我很难过 - 我看不出缺少什么。

var SearchFacet = React.createClass({
handleChange: function() {
this.props.onUserInput(
this.refs.searchStringInput.value
)
},
render: function() {
return (
<div>
Search for:
<input
type="text"
value={this.props.searchString}
ref="searchStringInput"
onchange={this.handleChange} />
</div>
);
}
});

var SearchTool = React.createClass({
render: function() {
return (
<form>
<SearchFacet
searchString={this.props.searchString}
onUserInput={this.props.onUserInput}
/>
<button>Search</button>
</form>
);
}
});

var Searcher = React.createClass({
getInitialState: function() {
return {
searchString: ''
}
},

handleUserInput: function(searchString) {
this.setState({
searchString: searchString
})
},

render: function() {
return (
<div>
<SearchTool
searchString={this.state.searchString}
onUserInput={this.handleUserInput}
/>
</div>
);
}
});

ReactDOM.render(
<Searcher />,
document.getElementById('searcher')
);

(最终我会有其他类型的 SearchFacet*,但我只是想让这个工作。)

最佳答案

使用 value={whatever} 可以让您无法在输入字段中键入内容。您应该使用 defaultValue="Hello!"

参见 https://facebook.github.io/react/docs/uncontrolled-components.html#default-values

另外,正如@davnicwil 指出的那样,onchange 应该是 onChange

关于javascript - 无法在 React 输入文本字段中输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34006333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com