Александра Воробьева
any
почти не используем)export interface State {
value: string
}
export class Input extends React.Component<{}, State> {
onChange = value => this.setState({ value })
render() {
<input value={this.state.value} onChange={this.onChange} />
}
}
export interface State {
value: string
}
export class Input extends React.Component<{}, State> {
onChange = value => this.setState({ value })
render() {
<input value={this.state.value} onChange={this.onChange} />
}
}
export interface FormState {
value: string
}
export class Form extends React.Component<{}, FormState> {
changeInput = value => this.setState({ value })
render() {
<Input value={this.state.value} onChange={this.changeInput} />
}
}
export class Input extends React.Component<Props, {}> {
render() {
<input value={this.props.value } onChange={this.props.onChange } />
}
}
shouldComponentUpdate
shouldComponentUpdate(nextProps, nextState) {
// делаем поверхностную проверку свойств
if (nextProps.value !== this.props.value) {
}
}
export class Button extends React.Component<{}, {}> {
render() {
<button onClick={(e) => console.log(e);}>
Text
</button>
}
}
export class Button extends React.Component<{}, {}> {
onClick = e => console.log(e);
render() {
<button onClick={this.onClick}>
Text
</button>
}
}
.button {
color: #FFF;
background: #F00
}
import * as styles from './button.css';
<button className={styles.button}>
Кнопка
</button>
export interface Props {
/* значение, задаваемое в поле */
value?: string;
/* коллбек вызывается каждый раз при изменении поля*/
onChange?: (value: string) => void;
}
<PropsDoc target={Button} />
Свойство | Тип | Описание |
---|---|---|
width | string | number | Ширина таблицы. По умолчанию — 100%. Можно указывать в процентах или в пикселях. Число без единиц измерения задает ширину в пикселях. |