Создание фильтра с использованием .map и store - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь сделать фильтр для своих ресторановВсе. Код работает без фильтра, но когда я пытаюсь добавить фильтр, я получаю эту ошибку: TypeError: restaurant.toLowerCase не является функцией | Строка 25

Когда я использую:

const list = ['jef', 'uwmoeder'] и list.map, он работает, но с магазином. это не

Может кто-нибудь взглянуть на это, пожалуйста?

   <ul>
        {store.restaurants.map(restaurant => {
          if (filter.lenght !== 0) {
            if (restaurant.toLowerCase().startsWith(filter.toLowerCase())) {
              return (
                <li>
                  <Restaurant
                    restaurant={restaurant}
                    key={restaurant.id}
                    onClick={() => {
                      uiStore.setCurrentRestaurant(restaurant);
                      uiStore.setCurrentView(VIEWS.detail);
                    }}
                  />
                </li>
              );
            } else {
              return null;
            }
          }
          return (
            <li>
              <Restaurant
                restaurant={restaurant}
                key={restaurant.id}
                onClick={() => {
                  uiStore.setCurrentRestaurant(restaurant);
                  uiStore.setCurrentView(VIEWS.detail);
                }}
              />
            </li>
          );
        })}
      </ul>

это компонент Ресторан:

const Restaurant = ({restaurant, onClick}) => {
  return useObserver(() => (
    <div className={style.restaurantlist} >
      <Link to={`/detail/${restaurant.id}`}>
      <img onClick={onClick} className={style.restaurantfoto} src={restaurant.picture} alt={restaurant.name} />
      </Link>

      <section className={style.information}>
        <Information restaurant={restaurant} />
      </section>


    </div>
  ));
}
...