создать переход при каждом нажатии кнопки с новой формой - PullRequest
2 голосов
/ 03 мая 2020

Хорошо, поэтому я пытался это на мгновение, и я не знаю, как go об этом, то, что я хочу, это просто, создать совершенно новую форму, но с эффектом группы реакции перехода от старой формы к новая форма (каждый раз, когда пользователь нажимает кнопку отправки)

вы спасатель, если можете оказать помощь или подумать.

this.state.transitionTimes Я пытался увеличить ключ состояния, возможно, посмотрите, что но это не работает

 <div disabled={currentAccommodation.isLoading || currentRoom.isLoading} className="accommodation_popup_innerContainer_inputContainer_transition_container">
            <SwitchTransition>
              <CSSTransition
                key={this.state.isAddRoom}
                addEndListener={(node, done) =>
                  node.addEventListener('transitionend', done, false)
                }
                classNames="fade"
              >
                {(isAddRoom || this.state.isAddRoom) === true ? (
                  <CreateRoomForm
                    ScrollBar={ScrollBar}
                    LabelInput={LabelInput}
                    currentState={this.state}
                    handleChange={() => this.handleChange}
                    removeItem={this.removeItem}
                    handleMultipleChange={this.handleMultipleChange}
                    setTheState={this.setTheState}
                    error={this.state.error}
                  />
                ) : (                                       // I want the transition on this side
                  <cssTransition
                      key={this.state.transitionTimes}
                      addEndListener={(node, done) =>
                        node.addEventListener('transitionend', done, false)
                      }
                      classNames="fade">
                      <CreateAccommodationForm
                        ScrollBar={ScrollBar}
                        LabelInput={LabelInput}
                        currentState={this.state}
                        handleChange={() => this.handleChange}
                        removeItem={this.removeItem}
                        handleMultipleChange={this.handleMultipleChange}
                        setTheState={this.setTheState}
                        OnChangeDescription={this.OnChangeDescription}
                        error={this.state.error}
                  />
                  </cssTransition>

                )}
              </CSSTransition>
            </SwitchTransition>
          </div>

кнопки отправки

<Button
                type="submit"
                className="btn accommodation_popup_innerContainer_buttons_button"
                value={isAddRoom ? 'Add' : 'Submit'}
                onClick={
                  (isAddRoom || this.state.isAddRoom)
                    ? this.handleAddRoomBtn // for the top form
                    : this.handleSubmitBtn  // for th bottom form
                }
              />

Моя кнопка отправки

 handleAddRoomBtn = async (e) => {
    e.preventDefault();

    await this.setState({
      ...this.initiaState,
      transitionTimes: this.state.transitionTimes + 1
    })
    console.log(this.state)

  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...