Повторно используемый компонент переключателя React

ReactReactBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим, как реализовать компонент переключателя с использованием React. Компонент переключателя - это распространенный элемент пользовательского интерфейса, используемый для переключения между двумя состояниями. Мы будем использовать хук useState() для управления состоянием компонента и применять разные CSS-классы в зависимости от его состояния. В конце этого практического занятия вы будете лучше понимать, как создавать повторно используемые компоненты пользовательского интерфейса в React.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL react(("React")) -.-> react/FundamentalsGroup(["Fundamentals"]) react(("React")) -.-> react/AdvancedConceptsGroup(["Advanced Concepts"]) react(("React")) -.-> react/StateManagementGroup(["State Management"]) react/FundamentalsGroup -.-> react/jsx("JSX") react/FundamentalsGroup -.-> react/event_handling("Handling Events") react/FundamentalsGroup -.-> react/conditional_render("Conditional Rendering") react/AdvancedConceptsGroup -.-> react/hooks("React Hooks") react/StateManagementGroup -.-> react/use_state_reducer("Using useState and useReducer") subgraph Lab Skills react/jsx -.-> lab-38366{{"Повторно используемый компонент переключателя React"}} react/event_handling -.-> lab-38366{{"Повторно используемый компонент переключателя React"}} react/conditional_render -.-> lab-38366{{"Повторно используемый компонент переключателя React"}} react/hooks -.-> lab-38366{{"Повторно используемый компонент переключателя React"}} react/use_state_reducer -.-> lab-38366{{"Повторно используемый компонент переключателя React"}} end

Переключатель

В ВМ уже предоставлены index.html и script.js. В общем, вам нужно добавить код только в script.js и style.css.

Для отображения компонента переключателя следуйте шагам:

  1. Используйте хук useState(), чтобы инициализировать переменную состояния isToggledOn значением defaultToggled.
  2. Отобразите элемент <input> и привяжите к нему событие onClick, чтобы обновить переменную состояния isToggledOn. Примените соответствующий className к оборачивающему элементу <label>.
  3. Используйте следующий CSS для стилизации компонента переключателя:
.toggle input[type="checkbox"] {
  display: none;
}

.toggle.on {
  background-color: green;
}

.toggle.off {
  background-color: red;
}

Вот код:

const Toggle = ({ defaultToggled = false }) => {
  const [isToggleOn, setIsToggleOn] = React.useState(defaultToggled);

  return (
    <label className={isToggleOn ? "toggle on" : "toggle off"}>
      <input
        type="checkbox"
        checked={isToggleOn}
        onChange={() => setIsToggleOn(!isToggleOn)}
      />
      {isToggleOn ? "ON" : "OFF"}
    </label>
  );
};

ReactDOM.createRoot(document.getElementById("root")).render(<Toggle />);

Пожалуйста, нажмите кнопку 'Go Live' в нижнем правом углу, чтобы запустить веб-сервис на порту 8080. Затем вы можете обновить вкладку Web 8080, чтобы просмотреть веб-страницу.

Резюме

Поздравляем! Вы завершили практическое занятие по компоненту Переключатель. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.