Я совершенно новый, чтобы реагировать и пытаться обернуть голову вокруг семантики.Неуверенность в семантике реакции
Я создаю приложение на основе карты, а основными частями сайта являются карта, навигационная панель и меню поиска, которые появляются над картой и позволяют выбрать поиск, который заполняется из запроса ajax.
Вот некоторые вопросы, которые приходят на ум:
Где я должен закончить свои АЯКСЫ запросов, следует, что все должны содержаться в компоненте карты? Если да, то как мне передать параметры для запроса, если ответ передаст его функции на карте, то как мне вызвать функцию из моего компонента меню поиска?
Моего приложение в настоящее время организовано следующим образом:
export default class App extends React.Component {
toggleSearchMenu() {
this.refs.searchMenu.toggleVisible();
}
render() {
return (
<div className="pure-g">
<Nav>
<NavButton onClick={() => this.toggleSearchMenu()}>Searches</NavButton>
</Nav>
<Map lat="53.15" lng="-0.5" zoom="9" />
<SearchMenu ref="searchMenu" />
</div>
);
}
}
Как вы можете видеть, я привел к показу и скрытия меню из функции в моем приложении компонент, который не чувствует себя хорошо как-то?
Спасибо, Иоганнес, это полезно для карты. Как насчет отображения меню на кнопке навигации? Я не хочу жестко указывать это, я хочу, чтобы любая кнопка отображала любое меню (многоразовое). Или это то, что будет покрывать поток? –
Некоторое время назад я задал несколько схожий вопрос и получил ответ от Билла Фишера (одного из создателей React/Flux): http://stackoverflow.com/questions/31057600/how-to-handle-non-view- altering-actions-in-flux-react-js –
Итак, вы хотите спросить себя: Является ли действие или данные, которые я получаю от вызова AJAX, меняющего * состояние * моего приложения? Или это действие просто скрывает/показывает что-то волатильное, как всплывающая подсказка или контекстное меню? Тогда его можно считать частью компонента, а не тем, что изменяет состояние приложения. –