我已经开始了一个新的Web App React项目。 我想简单地开始,并在给定的React代码中添加一个文本框,但我不知道这样做会很热。 我应该创建一个新组件,然后将其添加到另一个组件吗? 或者,我怎样才能在给定的组件中添加一个简单的文本框?
import React, { Component } from 'react';
export class Home extends Component {
displayName = Home.name
render() {
return (
<div>
<h1>Hello world! This is Itay's new Web App</h1>
<p>Welcome to your new single-page application, built with:</p>
<ul>
<li><a href='https://get.asp.net/'>ASP.NET Core</a> and <a href='https://msdn.microsoft.com/en-us/library/67ef8sbd.aspx'>C#</a> for cross-platform server-side code</li>
<li><a href='https://facebook.github.io/react/'>React</a> for client-side code</li>
<li><a href='http://getbootstrap.com/'>Bootstrap</a> for layout and styling</li>
</ul>
<p>To help you get started, we've also set up:</p>
<ul>
<li><strong>Client-side navigation</strong>. For example, click <em>Counter</em> then <em>Back</em> to return here.</li>
<li><strong>Development server integration</strong>. In development mode, the development server from <code>create-react-app</code> runs in the background automatically, so your client-side resources are dynamically built on demand and the page refreshes when you modify any file.</li>
<li><strong>Efficient production builds</strong>. In production mode, development-time features are disabled, and your <code>dotnet publish</code> configuration produces minified, efficiently bundled JavaScript files.</li>
</ul>
<p>The <code>ClientApp</code> subdirectory is a standard React application based on the <code>create-react-app</code> template. If you open a command prompt in that directory, you can run <code>npm</code> commands such as <code>npm test</code> or <code>npm install</code>.</p>
</div>
);
}
}
我想我应该在render()中添加新的文本框
先谢谢了。
答案 0 :(得分:1)
您可以在渲染器内部添加文本框,也可以创建一个组件并使用它。 文本框将从状态中读取值,并使用其当前值onChange更新状态。
render() {
return (
<input
type="text"
value={this.state.value}
onChange={this.handleChange}
/>
);
}
答案 1 :(得分:0)
您还可以使用material-ui(github上的趋势)进行反应,这是进行反应的最佳UI框架之一。
您可以通过命令安装它:
npm install @ material-ui / core
然后您可以制作如下文本框:
<TextField
id="first-name"
label="Name"
value={this.state.name}
onChange={this.handleChange('name')}
margin="normal"
/>