1. Пример компонента StudentInfo:

 

React-код (JSX):

 

function StudentInfo({ name, group }) {

    return (

        <div>

            <h2>Студент: {name}</h2>

            <p>Группа: {group}</p>

        </div>

    );

}

 

function App() {

    return (

        <StudentInfo

            name="Алия"

            group="IT-201"

        />

    );

}

 

export default App;

 

Результат:

 

Студент: Алия

Группа: IT-201

 

Данные передаются компоненту через props.

 

 

2. Пример отображения сообщения:

 

React-код (JSX):

 

import { useState } from "react";

 

function WelcomeMessage() {

    const [visible, setVisible] = useState(false);

 

    return (

        <div>

            <button onClick={() => setVisible(true)}>

                Показать сообщение

            </button>

 

            {visible && (

                <p>Добро пожаловать на портал!</p>

            )}

        </div>

    );

}

 

export default WelcomeMessage;

 

Результат:

 

До нажатия кнопки сообщение отсутствует.

 

После нажатия появляется текст:

 

Добро пожаловать на портал!

 

Состояние visible управляет отображением абзаца.

 

 

3. Пример структуры приложения:

 

App

 |

 |-- Header

 |

 |-- Navigation

 |

 |-- HomePage

 |

 |-- NewsPage

 |

 |-- SchedulePage

 |

 |-- StudentAccountPage

 |

 |-- Footer

 

Предлагаемые маршруты:

 

/                 Главная страница

/news             Новости

/schedule         Расписание

/account          Личный кабинет

 

Способ формирования страниц:

 

Главная страница:

Можно использовать статическую генерацию, если содержимое изменяется редко.

 

Новости:

Можно использовать статическую генерацию с периодическим обновлением страниц либо серверный рендеринг, если информация часто меняется.

 

Расписание:

Требует актуальных данных. Их можно загружать с сервера через API.

 

Личный кабинет:

Содержит персональные данные студента. Доступ должен проверяться сервером, а содержимое формироваться с учётом пользователя.

 

Результат:

 

Приложение разделено на самостоятельные компоненты, а для разных разделов выбраны подходящие способы получения и отображения данных.