Send event form IOS to JS
<p>I m trying to repeat Facebook React-Native example with a little difference -and got in trouble, that my Js code don't get events from Objective-C. And events from JS to Objective-C works perfect I spend hours trying to found that's going wrong. Can anybody find where is myistake? </p>

<p>InputTextFieldManager.h</p>

<pre><code>@interface InputTextFieldManager : RCTViewManager &lt;RCTBridgeModule&gt;
@end
</code></pre>

<p>InputTextFieldManager.m</p>

<pre><code>#import "InputTextFieldManager.h"

#import "InputTextFieldView.h"
#import "RCTBridge.h"

@interface InputTextFieldManager () &lt;UITextFieldDelegate&gt;

@end

@implementation InputTextFieldManager

@synthesize bridge = _bridge;

RCT_EXPORT_MODULE()

RCT_EXPORT_VIEW_PROPERTY(shouldChangeCharacters, RCTBubblingEventBlock)

RCT_EXPORT_VIEW_PROPERTY(titleLabelText, NSString *)
RCT_EXPORT_VIEW_PROPERTY(textFieldPlaceholder, NSString *)

- (UIView *)view {
    InputTextFieldView *view = [InputTextFieldView view];
    view.textField.delegate = self;
    return view;
}

RCT_EXPORT_METHOD(sentMessage:(NSString *)message) {
    NSLog(@"JS sent message %@", message);
}

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:    (NSRange)range replacementString:(NSString *)string {
    NSLog(@"Entered characters: %@", string);
    InputTextFieldView *view = (id)textField.superview;
    view.shouldChangeCharacters(@{@"replacementString" : string});
    return YES;
}

@end
</code></pre>

<p>InputTextField.h </p>

<pre><code>@interface InputTextFieldView: UIView

@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (weak, nonatomic) IBOutlet UITextField *textField;

@property (weak, nonatomic) NSString *titleLabelText;
@property (weak, nonatomic) NSString *textFieldPlaceholder;

@property (nonatomic, copy) RCTBubblingEventBlock shouldChangeCharacters;

+ (instancetype)view;

@end
</code></pre>

<p>InputTextFieldView.m</p>

<pre><code>@interface InputTextFieldView ()

@end

@implementation InputTextFieldView

+ (instancetype)view {
    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
    InputTextFieldView *view = [[bundle loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil] firstObject];
    return view;
}

- (void)setTextFieldPlaceholder:(NSString *)textFieldPlaceholder {
    self.textField.placeholder = textFieldPlaceholder;
}

- (void)setTitleLabelText:(NSString *)titleLabelText {
    self.titleLabel.text = titleLabelText;
}

@end
</code></pre>

<p>Js code of element</p>

<pre><code>import React from 'react';

import { requireNativeComponent } from 'react-native';

class InputTextField extends React.Component {

  constructor() {
                super();
                console.log("start");
    this._shouldChangeCharacters = this._shouldChangeCharacters.bind(this);
  }
  _shouldChangeCharacters(event: Event) {

    console.log("InputTextField. _shouldChangeCharacters was called");

    if (!this.props.myShouldChangeCharacters) {

      return;

    }
    this.props.myShouldChangeCharacters("TEST!");
  }


  render() {
    console.log("InputTextField.render: ", InputTextFieldView)
    return &lt;InputTextFieldView {...this.props} shouldChangeCharacters={this._shouldChangeCharacters} /&gt;;
  }
}

InputTextField.propTypes = {

  myShouldChangeCharacters: React.PropTypes.func,
  shouldChangeCharacters: React.PropTypes.func,

  titleLabelText: React.PropTypes.string,
  textFieldPlaceholder: React.PropTypes.string
};
var InputTextFieldView = requireNativeComponent('InputTextField', InputTextField);
module.exports = InputTextField;
</code></pre>