這是我第一次嘗試使用React構建。我通常使用jQuery或普通的老式JS編寫UI交互。我只是想要一個文本字段,當有文本輸入時,它會添加一個類,以便我可以將其設置爲與默認狀態不同。注意我只希望在輸入至少一個字符時添加此類,而不是字段集中時添加。父組件狀態改變時向子組件添加一個類
我已經在子組件中使用onChange函數來修改'textEntered'的狀態,但我無法弄清楚如何在子組件中使用這個狀態來添加一個類。
這裏是我的父組件
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import TextInput from './components/TextInput/TextInput';
export default class Form extends Component {
constructor(props) {
super(props);
this.state = {
textEntered: '',
completed: false,
};
}
render() {
return (
<div>
<TextInput
placeholderText={'Title'}
updateText={textEntered => this.setState({ textEntered })}
completed={this.state.completed}
/>
</div>
);
}
}
ReactDOM.render(<Form />, document.getElementById('react-create-form'));
這裏是子組件
import React, { PropTypes } from 'react';
const TextInput = props => (
<div>
<input
type={props.type}
placeholder={props.placeholderText}
onChange={e => props.updateText(e.target.value)}
data-completed={props.completed}
/>
</div>
);
TextInput.propTypes = {
type: PropTypes.string,
placeholderText: PropTypes.string,
updateText: PropTypes.func,
completed: PropTypes.bool,
};
TextInput.defaultProps = {
type: 'text',
};
export default TextInput;
結帳https://github.com/JedWatson/classnames –