#reactjs #redux #react-redux
Вопрос:
const items = [ { Icon: lt;SecurityIcon /gt;, content: 'Activate Account', handleClick: () =gt; store.dispatch(openDialog(DIALOG_IDS.ACTIVATION)), } ... ]; export default function Account() { return ( lt;gt; {items.map(({ Icon, content, handleClick}) =gt; ( lt;MenuItem onClick={handleClick}gt; lt;ListItemIcon children={Icon} /gt; lt;ListItemContent children={content} /gt; lt;/MenuItemgt; ))} lt;/gt; ); }
Мой список items
содержит различные объекты, содержащие handleClick
свойство, некоторые из которых должны отправить действие против магазина Redux.
В настоящее время я импортирую хранилище в компонент для достижения этой цели, но я читал, что это не рекомендуется. Может ли кто-нибудь порекомендовать лучшее решение? Помощь оценена по достоинству, спасибо
Комментарии:
1. Не уверен, зачем вам нужен
dispatch
компонент «Учетная запись». Не могли бы вы подробнее рассказать? Поскольку у каждого элемента естьhandleClick
свойство, вам потребуется отправить, где вы создаете массив элементов. MenuItem просто вызовет дескриптор, который был передан.2. Мне нужна отправка, так как я хочу, чтобы мой обработчик щелчка отправлял действие. Я не понимаю, что ты имеешь в виду. Ваш английский не имеет для меня достаточного смысла. Не могли бы вы выразиться немного яснее? Спасибо!