Я использую Reactstrap (версия 6.5.0) для стилизации моего проекта ReactJs.
У меня есть встроенная форма с кнопкой отправки. Эта кнопка отключена до тех пор, пока пользователь не введет обязательные данные в форму.
Я пытаюсь добиться следующего:
- Пользователь должен показывать
tooltip
, когда он наводит курсор на отключенную кнопку (т. Е. Он не заполнил обязательные данные).
- Когда он заполняет обязательные данные, подсказка больше не должна отображаться на кнопке отправки.
Я использую компонент Reactstrap UncontrolledTooltip
следующим образом
<button id="submitButton" type="submit" onClick={this.onSubmit} className="btn" disabled={this.state.submitButtonDisabled}>Submit</button>
{ this.state.submitButtonDisabled &&
<UncontrolledTooltip placement="bottom" target="submitButton">
Please fill in the mandatory details
</UncontrolledTooltip>
}
Мой компонент имеет состояние this.state.submitButtonDisabled
, которое я переключаю в зависимости от того, заполнены ли все обязательные поля.
Однако происходит то, что tooltip
не отображается при наведении курсора на отключенную кнопку submit
. Отображается только когда я несколько раз пытаюсь нажать отключенную кнопку submit
.
Кроме того, после заполнения обязательных данных и включения кнопки submit
, tooltip
продолжает отображаться даже при наведении курсора.
Отредактировано: я также заметил, что нажатие кнопки отправки также выдает предупреждение ниже в консоли
index.js:1452 Warning: Can't call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
Как мне добиться ожидаемого поведения с помощью Reactstrap (я не хочу использовать jquery только для всплывающей подсказки)
Любая помощь будет принята с благодарностью.
Спасибо.