7.2 āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻā§āϰāĻŋā§ā§āĻ
āϰāĻŋā§ā§āĻā§āĻ + āĻāĻžāĻāĻĒāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§āĻŦ āĻĒāĻžāĻā§āĻžāϰāĻĢā§āϞ āĻāĻŽā§āĻŦāĻŋāύā§āĻļāύ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāϤ⧠āĻāϰ⧠āĻāĻŽāϰāĻž āϝā§āĻŽāύ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āϞ āĻā§āϞ⧠āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāĻžāĻāĻŽā§āĻ āϧāϰāϤ⧠āĻĒāĻžāϰāĻŋ āϏāĻžāĻĨā§ āĻāĻžāĻāĻĒāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§ āĻāĻŽāĻĒā§āϞāĻŋāĻ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻšāĻŋāϏāĻžāĻŦā§āĻ āĻāĻžāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϰāĻŋā§ā§āĻā§āĻ-āĻ āĻĻā§āĻāĻāĻžāĻŦā§ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āϤā§āϰāĻŋ āĻāϰāĻž āϝāĻžā§āĨ¤ āĻāĻŽāϰāĻž āĻĻā§āĻāĻāĻžāĻŦā§āĻ āĻāϰ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻĻā§āĻāĻŦāĨ¤
āĻĢāĻžāĻāĻļāύāĻžāϞ āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻ
import React from 'react';
interface Props {
title: string;
subTitle: string;
}
const Title: React.FC = ({ title, subTitle }) => {
return (
{title}!
{subTitle}
);
};
export default Title;
āĻāĻŽāϰāĻž āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§ āϝā§āĻāĻžāĻŦā§ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āϤā§āϰāĻŋ āĻāϰāĻŋ āϏā§āĻāĻžāĻŦā§āĻ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āϤā§āϰāĻŋ āĻāϰāĻŦāĨ¤ āĻŽā§āϞ āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻšāϞ⧠React.FC āĻāύā§āĻāĻžāϰāĻĢā§āϏāĨ¤ āĻāĻāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻŽāϰāĻž āĻāĻžāĻāĻĒāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§ āĻŦāϞāĻŋ āϝ⧠āĻāĻāĻŋ āĻļā§āϧ⧠āĻŽāĻžāϤā§āϰ āϰā§āĻā§āϞāĻžāϰ āĻĢāĻžāĻāĻļāύ āύāĻž āĻŦāϰāĻ āĻāĻāĻŋ āϰāĻŋā§ā§āĻā§āĻ āĻĢāĻžāĻāĻļāύāĻžāϞ āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĨ¤ āĻāĻāύ āĻāĻ āĻĢāĻžāĻāĻļāύ āĻĨā§āĻā§ āϝāĻĻāĻŋ āĻāĻŽāϰāĻž JSX āϰāĻŋāĻāĻžāϰā§āύ āύāĻž āĻāϰ⧠āĻā§āύ āϏā§āĻā§āϰāĻŋāĻ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰāĻŋ āϏā§āĻā§āώā§āϤā§āϰ⧠āĻāĻžāĻāĻĒāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāĻžāĻāĻŽā§ āĻāϰāϰ āĻĻāĻŋāĻŦā§āĨ¤
āĻāϰ āϏāĻžāĻĨā§ āĻāĻŽāϰāĻž Props āĻāύā§āĻāĻžāϰāĻĢā§āϏā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻŦāϞ⧠āĻĻāĻŋāĻā§āĻāĻŋ āĻāĻ āĻĢāĻžāĻāĻļāύāĻžāϞ āĻāĻŽā§āĻĒāύā§āύā§āĻ āĻāĻŋ āĻāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āύāĻŋāĻŦā§āĨ¤ āĻāĻāύ āĻā§āĻĨāĻžāĻ āϝāĻĻāĻŋ āĻāĻ āĻāĻŽā§āĻĒāύā§āύā§āĻ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻšā§ āĻāĻŦāĻ title āĻāĻŦāĻ subTitle āĻĒā§āϰāĻĒāϏ āύāĻž āĻĻā§āĻā§āĻž āĻšāĻā§āĻž āϤāĻžāĻšāϞ⧠āĻāĻžāĻāĻĒāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŽā§āĻĒāĻžāĻāϞā§āĻļāύ āĻāϰāϰ āĻĻāĻŋāĻŦā§āĨ¤
āĻļā§āϧ⧠āϤāĻžāĻ āύ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻāĻžāĻāĻĒāĻĄ āĻšāĻā§āĻžāϰ āĻāĻžāϰāĻŖā§ āĻāĻŽāϰāĻž āĻāĻāύ āĻāĻā§āĻāĻŽāĻĒā§āϞāĻŋāĻ āĻĢāĻŋāĻāĻžāϰ āĻāĻŦāĻ āĻĒā§āϰāĻĒāϏā§āϰ āĻāĻžāĻāĻĒ āϝā§āĻŽāύ title āϏā§āĻā§āϰāĻŋāĻ āĻāĻāĻžāĻ āĻĻā§āĻāϤ āĻĒāĻžāϰāĻŦāĨ¤
āĻāĻŽāϰāĻž āϝā§āĻā§āύ āĻĒā§āϰāĻĒāϏ āĻā§ āĻ āĻĒāĻļāύāĻžāϞ āĻāϰ⧠āĻĻāĻŋāϤ⧠āĻĒāĻžāϰāĻŋ āĻāĻžāĻāĻĒ āĻĄāĻŋāĻĢāĻžāĻāύ āĻāϰāĻžāϰ āϏāĻŽā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāĻ
interface Props {
title: string;
subTitle?: string;
}
āĻāĻāύ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰā§āϰ āϏāĻŽā§ subTitle āĻĒā§āϰāĻĒāϏāĻāĻŋ āύāĻž āĻĻāĻŋāϞ⧠āϏāĻŽāϏā§āϝāĻž āύā§āĻ āĻāĻžāĻāĻĒāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§āύ āĻāϰāϰ āĻĻāĻŋāĻŦā§ āύāĻžāĨ¤
āĻāĻĒāϰā§āϰ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ āĻ state āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāϞ⧠āύāĻŋāĻŽā§āύā§āĻā§āϤ āĻāĻĒāĻžā§ā§ āĻāϰāϤ⧠āĻšāĻŦā§āĻ
const [name,setName] = useState('John Doe');
āĻāĻāĻāĻžāύ⧠āĻāĻŽāϰāĻž useState āĻāϰ āĻĒāϰ⧠<string> āĻĻāĻŋā§ā§ āĻŦāϞ⧠āĻĻāĻŋā§ā§āĻāĻŋ āϝ⧠āĻāĻ state āĻāϰ āĻā§āϝāĻžāϞ⧠āĻļā§āϧ⧠āϏā§āĻā§āϰāĻŋāĻ āĻšāĻŦā§āĨ¤ āĻāĻŽāϰāĻž āϝāĻĻāĻŋ <string> āĻāĻāĻŋ āύāĻž āĻĻāĻŋā§ā§ āĻāϰ āĻā§āϝāĻžāϞ⧠āϏā§āĻā§āϰāĻŋāĻ āĻĻāĻŋā§ā§ āĻĻā§āĻ āϤāĻžāĻšāϞā§āĻ name āĻāϰ āĻāĻžāĻāĻĒ āϏā§āĻā§āϰāĻŋāĻ āĻšā§ā§ āϝā§āϤ āĻāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āϝā§āϤ āύāĻžāĨ¤ āĻāĻāĻŋāĻā§ āĻŦāϞ⧠āĻāĻžāĻāĻĒ āĻāύāĻĢāĻžāϰā§āύā§āϏāĨ¤
āĻā§āϞāĻžāϏ āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻ
import React, { Component } from "react";
interface Props {
title: string;
subTitle: string;
}
interface State {
counter: number;
}
class Title extends Component {
constructor(props: Props) {
super(props);
this.state = {
counter: 0,
};
}
render(): React.ReactNode {
const { title, subTitle } = this.props;
return (
<>
{title}
{subTitle}
>
);
}
}
export default Title;
Â
āĻāĻāĻžāύ⧠āĻāĻŽāϰāĻž Component āĻā§āϞāĻžāϏ āĻāĻā§āϏāĻā§āύā§āĻĄ āĻāϰāĻāĻŋ āϝā§āĻŽāύāĻāĻž āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻā§āϞāĻžāϏ āĻāĻŽā§āĻĒā§āύā§āύā§āĻā§ āĻāĻžāĻāĻāĻŋ āĻāϰāϤāĻžāĻŽāĨ¤ āĻāĻ āĻā§āϞāĻžāϏ āĻāĻŽā§āĻĒāύā§āύā§āĻ āĻāĻŦāĻžāϰ generic āϤāĻžāĻ āĻāĻŽāϰāĻž āĻāϰ āĻŽāϧā§āϝ⧠āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻĒāĻžāϏ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ āϝā§āĻāĻž āĻāĻŽāĻžāĻĻā§āϰ props āĻāĻŦāĻ state āĻāϰ āĻāĻžāĻāĻĒ āĻĄā§āĻĢāĻŋāύā§āĻļāύ āĻšā§āϞā§āĻĄ āĻāϰā§āĨ¤ āϝā§āĻŽāύ <Props, State>