小编Ina*_*san的帖子

如何创建React搜索过滤器以搜索多个对象键值

我想为我的数据数组创建一个搜索过滤器。它具有多个对象和键,例如:

[
    {
        "fname": "Jayne",
        "lname": "Washington",
        "email": "jaynewashington@exposa.com",
        "gender": "female"
    },
    {
        "fname": "Peterson",
        "lname": "Dalton",
        "email": "petersondalton@exposa.com",
        "gender": "male"
    },
    {
        "fname": "Velazquez",
        "lname": "Calderon",
        "email": "velazquezcalderon@exposa.com",
        "gender": "male"
    },
    {
        "fname": "Norman",
        "lname": "Reed",
        "email": "normanreed@exposa.com",
        "gender": "male"
    }
]
Run Code Online (Sandbox Code Playgroud)

我想要搜索过滤器搜索此数组上的任何地方。例如:当我输入框时,我想搜索对象内的任何地方。像fname,lname,email,gender

我该怎么做?请帮我

如果我只想限制姓和名的搜索,该怎么做?

javascript loops reactjs

6
推荐指数
1
解决办法
8153
查看次数

将 API 请求从使用 Promise 迁移到 Observable(使用 axios)

最近,我一直在尝试在 React 应用程序中使用 rxjs 提取 API 请求,这是我提出的解决方案。

您对此有何看法?

有什么我应该遵循的良好做法吗?

如果有什么好的解决方案请告诉我。

import axios from 'axios';
import { Observable } from 'rxjs';

import './App.css';

export class App extends Component {
  state = {
    users: []
  };
  componentDidMount() {
    const fetchUserSubscription$ = this.fetchUsersObservables();

    fetchUserSubscription$.subscribe(data =>
      this.setState({
        users: data
      })
    );
  }

  fetchUsers = async () => {
    const response = await axios.get(
      'https://jsonplaceholder.typicode.com/users'
    );
    const data = response.data;
    this.setState({ users: data });
  };

  fetchUsersObservables = () =>
    new Observable(observer => {
      axios
        .get('https://jsonplaceholder.typicode.com/users') …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs typescript reactjs rxjs6

1
推荐指数
1
解决办法
4538
查看次数

更新打字稿对象

当 Javascript 更新一个对象时,就像下面这样。

const data = {
    a: 1,
    b: 3,
    c: 4
}


const update = (summary) => {
  data[summary] += 1;
  console.log(data);

}

update('a');
Run Code Online (Sandbox Code Playgroud)

我用 Typescript 尝试了同样的事情,但它不起作用,因为我知道我做错了什么,有人可以指出错误以及如何解决问题。

interface Summary { 
    a: number,
    b: number,
    c: number
}

const data: Summary = {
    a: 1,
    b: 3,
    c: 4
}


const updateData = (summaryType: string) => { 
    data[summaryType] += 1 // Error
}
Run Code Online (Sandbox Code Playgroud)

错误是 -> 元素隐式具有“any”类型,因为“string”类型的表达式不能用于索引类型“Summary”。在“Summary”类型上找不到带有“string”类型参数的索引签名。(7053)

javascript interface typescript reactjs

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×3

reactjs ×3

typescript ×2

interface ×1

loops ×1

rxjs ×1

rxjs6 ×1