рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдиреЗ рд░рд┐рдПрдХреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ

рд╣реЗрд▓реЛ, рд╣реЗрдмреНрд░!

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдлреНрд░рдВрдЯ-рдПрдВрдб рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рд░рд┐рдПрдХреНрдЯ + рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЧрдпрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдкреНрд░рд╡рд╛рд╕рди рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдЕрдзрд┐рдорд╛рдирддрдГ рдереЛрдбрд╝реЗ рд╕рдордп рдореЗрдВред рдЖрдЬ рд╣рдо рдЖрдкрд╕реЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред



рдЕрдкрдиреЗ React JS Project рдореЗрдВ рд░рд┐рдПрдХреНрдЯ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдмрдирд╛рдПрдБ рдФрд░ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░реЗрдВред

рдЖрдкрдХреЛ JS рд╕реЗ TS рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ? рдЗрд╕рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╣ рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ (рдХрд╛рд▓реНрдкрдирд┐рдХ) рддрдереНрдп рдпрд╣ рд╣реИ: рдЖрдкрдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рдм рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рднреА рдЙрдкрд▓рдмреНрдз рдХреЛрдб рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдП рдмрд┐рдирд╛, рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдЯреАрдо рдХреЛ рдЖрд╢реНрд╡рд╕реНрдд рдХрд░рдирд╛ред

рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд░реАрдлрд╝реИрдХреНрдЯрд░рд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ: рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХреЛрдВ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдХреИрд╕реЗ рдПрдореНрдмреЗрдб рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдмрд┐рдЯ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд░рд┐рдПрдХреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред

рдмрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ JS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ TS рдШрдЯрдХреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдореНрдмреЗрдб рдХрд░реЗрдВ




React JS рд╕реЗ React TS рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрддреНрддрд░реЛрддреНрддрд░ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╕рдорд╛рди рд╡рд┐рдзрд┐ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред
рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд░рд┐рдПрдХреНрдЯ + рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдмрд┐рдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдмрд┐рдЯ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рд╕рд╛рде рдореЗрдВ, рдпрд╣ рдЖрдкрдХреЛ рдЯреАрдПрд╕ рдШрдЯрдХреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬреЗрдПрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдмрд┐рдЯGit рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЙрдкрдХрд░рдг рд╣реИред рдмрд┐рдЯ рдЖрдкрдХреЛ рдЬреЗрдПрд╕ рдореЗрдВ рд▓рд┐рдЦрд┐рдд рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд╣рд░ рдЯреАрдПрд╕ рдШрдЯрдХреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдкреГрдердХ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд, рдЬреЛ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЙрдирдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ред рдлрд┐рд░ рдЖрдк рдмрд╕ рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдЕрдкрдиреЗ JS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ "рдмрд┐рдЯ-рдЗрдореНрдкреЛрд░реНрдЯ" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдмрд┐рдЯ рдХреЗ рд╕рд╛рде, Bit.dev рд╣реИ , рдПрдХ рджреВрд░рд╕реНрде рд╣рдм рдЬрд╣рд╛рдВ рдЖрдк рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрдирдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЯреАрдПрд╕ рдШрдЯрдХреЛрдВ рдХреЛ Bit.dev рдореЗрдВ рд░рдЦреЗрдВрдЧреЗ, рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд░рд┐рдПрдХреНрдЯ JS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреЗрд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред



рдЙрджрд╛рд╣рд░рдг: bit.dev рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдЭрд╛ рдШрдЯрдХреЛрдВ рдХреА рдЦреЛрдЬ

рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдлреНрд░рдВрдЯ-рдПрдВрдб рджреБрдирд┐рдпрд╛ рдХреНрд▓рд╛рд╕рд┐рдХ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдореЗрдВ рд╣реИ: рд╣рдо рдпреЛрдЬрдирд╛ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЖрд╡реЗрджрди рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдФрд░, рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╖рдп рдирдП рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЦрд╛рд░рд┐рдЬ рдХрд░реЗрдВред

рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ - рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдВрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд▓рд┐рдВрдХ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рднреА рдХреЛрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред



github.com/deleteman/react-todo-demo

рдЗрд╕ рдХреЛрдб рдЖрдзрд╛рд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ:

рдЯреЛрдбрд▓рд┐рд╕реНрдЯ: рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдЗрдирдкреБрдЯ рдмрдЯрди рдХреЗ рд╕рд╛рде рдкрд╛рда рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдореБрдЦреНрдп рдШрдЯрдХ рд╣реИред рд╕рдм рдХреБрдЫ рдлреЙрд░реНрдо рдореЗрдВ рд╣реИ, рдЬрд┐рд╕реЗ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕реВрдЪреА рдореЗрдВ рдкрд╛рда рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдШрдЯрдХ рдХрд╛ рдХреЛрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

import React, { Component } from 'react'

class TodoList extends Component {
  render() {
    return (
      <div className="todoListMain">
        <div className="header">
          <form onSubmit={this.props.addItem}>
            <input placeholder="Task"
            ref={this.props.inputElement}
            value={this.props.currentItem.text}
            onChange={this.props.handleInput}
             />
            <button type="submit"> Add Task </button>
          </form>
        </div>
      </div>
    )
  }
}

export default TodoList

рдЯреЛрдбрд┐рдЯрдореНрд╕ : рдкрд┐рдЫрд▓реЗ рдШрдЯрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝реА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕реВрдЪреА рдШрдЯрдХред рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рдФрд░ рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдб рднреА рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:

import React, { Component } from 'react'

class TodoItems extends Component {

  createTasks(item) {
    return <li key={item.key} onClick={() => this.props.deleteItem(item.key)}>{item.text}</li>
  }

  render() {
    const todoEntries = this.props.entries || []  
    const listItems = todoEntries.map(this.createTasks.bind(this))    

    return <ul className="theList">{listItems}</ul>
  }
}

export default TodoItems

рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдРрдк рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХ рд╕реЗ рдЧреБрдг (рдкреНрд░реЙрдкреНрд╕) рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдШрдЯрдХ рдХрд╛ рдкреВрд░рд╛ рдХреЛрдб рдпрд╣рд╛рдБ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди, рдореИрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдЬреЛрд░ рджреЗрддрд╛ рд╣реВрдВ, рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдФрд░ рдЕрдЪрд╛рдирдХ рдЖрдкрдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдорд┐рд▓рддрд╛ рд╣реИред рдХреНрдпрд╛ рдХрд░реЗрдВ?

  • рд╡рд┐рдХрд▓реНрдк # 1: рдЖрдБрд╕реВ рдкреЛрдВрдЫрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдкреВрд░реЗ рдЖрдзрд╛рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
  • рд╡рд┐рдХрд▓реНрдк # 2: рдЕрдкрдиреА рд╕рднреА .js рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ .ts рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ, рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдгреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдХреЛ рдзреЛ рд▓реЗрдВред
  • рд╡рд┐рдХрд▓реНрдк # 3: рдЖрдк рд╕рднреА рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЗ рдХреНрд░рдорд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордп рддрдп рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реАрдзреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд╕рднреА рдирдП рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВред

рдореИрдВ рд╡рд┐рдХрд▓реНрдк 3 рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдЗрдВрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рдХрд┐ рдПрдХ рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЖрдк рд╢реБрджреНрдз рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЛрдиреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд╣рд╡рд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд░реНрдЬ рдХрд░реЗрдВ


рдЗрд╕рд▓рд┐рдП, рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреА рдЯреВ-рдбреВ рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдЯреЙрдЧрд▓ рдмрдЯрди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХрд╛рдо рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрд▓реМрдХрд┐рдХ рдХреБрдЫ рднреА рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЖрдкрдХреЗ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рддрд╛рдХрд┐ рдЧрд▓рддреА рд╕реЗ рдЖрдкрдХреА рдореМрдЬреВрджрд╛ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдХрдИ рджрд┐рдиреЛрдВ рдореЗрдВ рддреЛрдбрд╝ рди рд╕рдХреЗрдВ, рд▓реЗрдХрд┐рди рд╢реБрджреНрдз рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ:

$ npx create-react-app ts-components --template typescript

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ: npx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ NPM рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ 5.2.0 рдФрд░ рдЙрдЪреНрдЪрддрд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ ред

рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рд╣рдо рдмреЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрд╡рд┐рдЪ рдШрдЯрдХ, рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛, рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рдореНрдорд┐рд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИрдВ, рддреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдЕрдЧрд▓рд╛ рд▓реЗрдЦ рдкрдврд╝реЗрдВ ред

import React, {useState} from 'react';

interface IActionProps {
	action: (status:boolean) => void,
	buttonText?: string
}

const Toggle = ({action, buttonText="Toggle"}: IActionProps) => {
	const [isSelected, setSelected] = useState(false)
	return (
		<button onClick={() => {
		setSelected(!isSelected)
		action(isSelected)
		}} >{buttonText}</button>
	)	
}

export default Toggle

рдЕрдм рдЬрдм рдпрд╣ рдШрдЯрдХ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдШрдЯрдХ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Bit (рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЙрдкрдХрд░рдг) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд╕рдХреЗрдВред

//  Bit        
$ yarn global add bit-bin
$ bit init --package-manager yarn//    ( ,       bit.dev)
$ bit login//   
$ bit add src/components/Toggle.tsx //   (    env)
$ bit import bit.envs/compilers/react-typescript --compiler//   
$ bit tag тАУall

рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдирдП рдЯреЙрдЧрд▓ рдШрдЯрдХ (рд╕реНрд╡рд┐рдЪ) рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕реЗ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд▓реЗрдХрд┐рди, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдРрд╕рд╛ рдХрд░ рд╕рдХреЗрдВ, рдЖрдкрдХреЛ Bit.dev рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╣ рдПрдХ рдШрдЯрдХ рд╣рдм рд╣реИ - рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдЯ рдЬреЛ рдмрд┐рдЯ рдХреЛ рдкреНрд░рдХрд╛рд╢рди рдФрд░ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдкреВрд░рдХ рдХрд░рддреА рд╣реИ)ред

рдПрдХ рдмрд╛рд░ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдмрд╕ "toggler" рдирд╛рдордХ рдПрдХ рдирдпрд╛ рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

$ bit export user-name.toggler

рдпрджрд┐ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдирд╛рдо" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╣реИ, рддреЛ рдШрдЯрдХ рдХреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдк рдЗрд╕реЗ Bit.dev рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:



рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдо index.jsрдШрдЯрдХ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдореВрдирд╛ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ ред рдЙрд╕реА рд╕рдордп, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рджреВрд╕рд░реЛрдВ рдХреЛ рд╕рдордЭ рдореЗрдВ рдЖрдП рдХрд┐ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЕрдкрдиреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдЕрдкрдиреА рдирдореВрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛, рдЯреЙрдЧрд▓рд░ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдЬреЛрдбрд╝рддреЗ рд╣реБрдП (рдмрд╕ рдЬрдм рдЖрдк рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рддреЛ "рд╕рд╣реЗрдЬреЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВ!)ред



рдЕрдм рдЖрдЗрдП рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдирдП рдШрдЯрдХ рдХреЛ рдЕрдкрдиреЗ рдЬреЗрдПрд╕-рдЖрдзрд╛рд░рд┐рдд рд░рд┐рдПрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреИрд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдПрдХ рдмрд╛рд╣рд░реА рдШрдЯрдХ рдЖрдпрд╛рдд рдХрд░реЗрдВ


рдмрд┐рдЯ рдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдкрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╣рдордиреЗ рдЬреЛрдбрд╝рд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реА рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рд╡рд╣ рдЗрд╕ рдШрдЯрдХ рдХреЛ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реИред

рд╕рднреА рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдЙрд╕реА рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рднреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

$ yarn add @bit/your-username.your-collection.your-component

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ:

$ yarn add @bit/deleteman.toggler.toggle

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рдЖрдк рд▓реЙрдЧ рдЗрди рдХрд┐рдП рдмрд┐рдирд╛ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ ( $ bit loginрдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рд░рдЦреЗрдВ ?)ред рдпрджрд┐ рдЖрдк рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:

$ npm config set '@bit:registry' https://node.bit.dev

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдШрдЯрдХ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд) рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдк рдЙрдирдХреЗ рдХреЛрдб рдХреЗ рдЗрд╕ рдШрдЯрдХ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗ:

import React, { Component, useState } from 'react'
import Toggle from '@bit/deleteman.toggler.toggle';


const TodoItem = ({text, itemKey}) => {

 	const [iClass, setIClass] = useState("white")

  	const toggleBackground = status => {
  		setIClass(status ? "white" : "black")
  	}

  	const toggleProps = {
  		action: toggleBackground,
  		buttonText: "Select"
  	}

    return <li className={iClass} key={itemKey} >{text}<Toggle {...toggleProps}/></li>
}

export default TodoItem

рдкрдВрдХреНрддрд┐ 2 рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдЬрд╣рд╛рдВ рдореИрдВ рдмрд╛рд╣рд░реА рдШрдЯрдХ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВ рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реВрдВред рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ, рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдпрд╛ рдХрд╣реАрдВ рдФрд░ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░рд┐рд╡рд░реНрддрди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВред
рдмрдзрд╛рдИ рд╣реЛ, рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╕рдВрднрд╡рддрдГ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдЗрд╕реЗ рдиреЛрдЯрд┐рд╕ рднреА рди рдХрд░реЗрдВ!
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛, рдкреВрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб GitHub рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ !

рдирд┐рд╖реНрдХрд░реНрд╖


рдпрджрд┐ рдЖрдк рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдмрд╕ рдЗрд╕рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╣ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдкреВрд░реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдиреАрдЪреЗ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдЦрд┐рдо рдХреЗ рдмрд┐рдирд╛, рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рднрд╛рд╖рд╛ рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреЗрд╢ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

Bit рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░ Bit.dev рдХреЛ рджреЗрдЦреЗрдВ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдиреНрд╣реЗрдВ рджреВрд╕рд░реЗ рдХреИрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрд╕реА рд╕рдордп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдЦреЛрдЬреЗрдВ!

All Articles