Использование Algolia React-InstantSearch с react-native

Я пытаюсь получить новый компонент Algolia реагировать-мгновенный поиск с помощью response-native .

Я следую руководству и полностью застрявший.

По сути, каждый раз, когда я пытаюсь добавить свой <SearchBox /> компонент в <InstantSearch /> компонент, мое приложение умирает с Ожидаемым классом компонента, полученным [object Object].

Насколько я могу судить, я подключаю <SearchBox /> к разъему connectSearchBox, поэтому я не уверен, что происходит.

Код (у меня есть реальные значения appId, apiKey и index):

import React, {Component} from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  ListView,
  TextInput,
  Image,
} from 'react-native';
import {InstantSearch} from 'react-instantsearch/native';
import {connectSearchBox} from 'react-instantsearch/connectors';
import * as Styles from '../../styles/';

const SearchBox = connectSearchBox(({currentRefinement, refine}) =>
  <TextInput
    style={{height: 40, borderColor: 'gray', borderWidth: 1}}
    onChangeText={(text) => refine(text)}
    value={currentRefinement}
  />);

export default class InfiniteSearch extends Component {
  constructor(props) {
    super(props);
  }

    render() {
        return (
            <View style={styles.container}>
              <InstantSearch
                className="container-fluid"
                appId="appId"
                apiKey="apiKey"
                indexName="indexName"
              >
                <SearchBox />
              </InstantSearch>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
      padding: 10,
    },
});

person Mark Biek    schedule 09.12.2016    source источник
comment
Это определенно совпадает с руководством из того, что я вижу ... где говорится об ошибке?   -  person Matt Aft    schedule 09.12.2016
comment
@MattAft Трассировка стека не указывает ни на что конкретное в моем коде. Начинается с <unknown> - ›createInternalComponent -› instantiateReactComponent - ›peformInitialMount, но затем продолжается для страниц и страниц внутреннего материала React.   -  person Mark Biek    schedule 09.12.2016
comment
Это определенно вызвано <SearchBox /> компонентом внутри <InstantSearch>. Если я удалю это, никаких ошибок.   -  person Mark Biek    schedule 09.12.2016
comment
Мы работаем над патчем. github.com/algolia/instantsearch.js/pull/1729   -  person bobylito    schedule 09.12.2016
comment
@bobylito Спасибо за информацию. Я начал смотреть этот PR, чтобы получить обновление, когда оно будет добавлено.   -  person Mark Biek    schedule 09.12.2016


Ответы (2)


теперь это решено в версии 2.0.1: https://github.com/algolia/instantsearch.js/blob/e15d37362fcd1eb60b5476307160062321983f09/CHANGELOG.md#201-2016-12-15

Спасибо!

person vvo    schedule 16.12.2016

Попробуйте обернуть TextInput в SearchBox:

const SearchBox = connectSearchBox(({currentRefinement, refine}) => (
  <TextInput
    style={{height: 40, borderColor: 'gray', borderWidth: 1}}
    onChangeText={(text) => refine(text)}
    value={currentRefinement}
  />
));
person Matt Aft    schedule 09.12.2016