文本字符串必须在 <Text> 组件中呈现。使用 Algolia React Native

Text strings must be rendered within a <Text> component. Using Algolia React Native

我刚开始将 Algolia 与 React Native 和 Expo 结合使用,我想将它集成到我的移动应用程序中。

import { SafeAreaView, StyleSheet, View, Text } from 'react-native'
import algoliasearch from 'algoliasearch/lite';
import { InstantSearch, SearchBox, InfiniteHits } from "react-instantsearch-dom";
import { I18nContext } from '../../translation';
import TitleHolder from '../../Components/TitleHolder_noback';
import BottomBar from '../../Components/bottom_bar';

const Search = props => {
    const { translate } = useContext(I18nContext);
    const searchClient = algoliasearch('XXXXXXXXX', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
    const Hit = ({ hit }) =>
        <View>
            <Text>{hit.rep_first_name}</Text>
            <Text>{hit.rep_last_name}</Text>
        </View>;

    return (
        <Fragment>

            <SafeAreaView style={{ flex: 0, backgroundColor: '#009CF3' }} />
            <SafeAreaView style={styles.container}>
                <TitleHolder title={translate("all_reps_title")} />
                <View>
                    <InstantSearch searchClient={searchClient} indexName='rep_lookup'>
                        <SearchBox searchAsYouType={false} translations={{ placeholder: 'Rechercher un parlementaire' }} /> {/* use a translate here */}
                        <InfiniteHits hitComponent={Hit} />
                    </InstantSearch>
                </View>
                <BottomBar />
            </SafeAreaView>
            <SafeAreaView style={{ flex: 0, backgroundColor: 'white' }} />
        </Fragment>
    )
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        backgroundColor: 'white',
    },
});

export default Search;

我有这个错误:

如果有人有什么想法? 我确信我的组件和 BottomBar 工作得很好。

line 36 还剩一些 blank spaces。把它清理干净。只需复制并粘贴此代码。

import { SafeAreaView, StyleSheet, View, Text } from "react-native";
import algoliasearch from "algoliasearch/lite";
import {
  InstantSearch,
  SearchBox,
  InfiniteHits,
} from "react-instantsearch-dom";
import { I18nContext } from "../../translation";
import TitleHolder from "../../Components/TitleHolder_noback";
import BottomBar from "../../Components/bottom_bar";

const Search = (props) => {
  const { translate } = useContext(I18nContext);
  const searchClient = algoliasearch(
    "XXXXXXXXX",
    "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  );
  const Hit = ({ hit }) => (
    <View>
      <Text>{hit.rep_first_name}</Text>
      <Text>{hit.rep_last_name}</Text>
    </View>
  );

  return (
    <Fragment>
      <SafeAreaView style={{ flex: 0, backgroundColor: "#009CF3" }} />
      <SafeAreaView style={styles.container}>
        <TitleHolder title={translate("all_reps_title")} />
        <View>
          <InstantSearch searchClient={searchClient} indexName="rep_lookup">
            <SearchBox
              searchAsYouType={false}
              translations={{ placeholder: "Rechercher un parlementaire" }}
            />
            <InfiniteHits hitComponent={Hit} />
          </InstantSearch>
        </View>
        <BottomBar />
      </SafeAreaView>
      <SafeAreaView style={{ flex: 0, backgroundColor: "white" }} />
    </Fragment>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "white",
  },
});

export default Search;

我阅读了越来越多的 Algolia 文档,但我无法将 Algolia Widget 与 React Native 和 Expo 一起使用,我必须使用自定义小部件,如 connectSearchBox

https://www.algolia.com/doc/guides/building-search-ui/going-further/native/react/