Не используйте свой взгляд, как если бы это была модель. Вы программно изменяете свойство isHidden
представления при изменении модели, поэтому эти изменения модели также выполняют «другие вещи».
Так, например:
let validInput = textField.rx.text.map { $0.length > 0 }
validInput
.map { !$0 }
.bind(to: inputButton.rx.isHidden)
.disposed(by: bag)
validInput
.bind(onNext: { _ in /* do other thing */ })
.disposed(by: bag)
В приведенном выше validInput
это модель.