反应从URL获取参数

时间:2019-12-14 03:23:50

标签: reactjs react-native react-router

我是React的新手,已经使用了几个星期了。 我想知道如何使鳕鱼工作以从URL动态获取数据并显示

   searchSome() {
var serachValue=
  "http://localhost:8005/api?act=search&term=" + this.state.valSearch+ "+";
fetch(serachValue)
  .then(data => data.json())
  .then(result => {
    // console.log(this.state.library);

    var object= JSON.stringify(this.state.library);
    var stringify = JSON.parse(object);
  });
}

链接会产生ID,名称等数据。 当用户在搜索栏中输入单词并显示它时,我需要对此进行过滤。

显示代码

const filter = this.state.library.filter(book=> {
  return (
    book.name.indexOf(this.searchSome()) !== -1 ||
    book.description
      .indexOf(this.searchSome()) !== -1
  );
});

任何帮助,不胜感激!

1 个答案:

答案 0 :(得分:0)

尝试以下

searchSome(searchTerm) {
    var serachValue=
      "http://localhost:8005/api?act=search&term=" + searchTerm + "+";
    fetch(serachValue)
      .then(data => data.json())
      .then(result => {
        // Not sure what is your format, but you have to set this data to state
        this.setState({ library: result });
    }); 
}

render() {
    return (
        <View>
            <TextInput
                onChangeText={(text) => {
                    // Should debounce the call to `searchSome` to avoid multiple request
                    this.searchSome(text);
                    this.setState({ searchValue: text })
                }}
                text={this.state.searchValue}
            />
            <FlatList 
                data={this.state.library}
            />
        </View>
    )
}