TypeScript Redux React:如何遍历组件子级

时间:2016-11-16 14:59:37

标签: javascript typescript react-redux

我有一系列通知作为我的NotificationCenter组件的支柱。

当用户点击任何通知(或在"标记所有为阅读"按钮上)时,应将其标记为' isRead = true'然后在UI上使用另一种颜色重新渲染它。

我已经完成了所有操作(操作,事件等),但现在我需要触发Reducer,以便重新呈现我的通知道具。

到目前为止,这是我的代码:

if (isType(action, ActionTypes.MarkNotificationsAsRead)) {
    return Object.assign({}, state, { 
        notifications: state.notifications.map(n => action.payload.<<HELP>>)
    } as INotificationCentreState);

&#34; state.notifications&#34;是我的通知道具,包含所有可用的通知。

&#34; action.payload&#34;是字符串数组,其中包含我应该匹配的通知的ID,然后修改为&#39; notification.isRead = true&#39;。

我在这里遇到的主要问题是我无法改变我的通知列表,而且我不完全确定.map()是如何工作的。

任何人都可以给我一个提示吗?我希望我的问题很清楚。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以切换isRead,具体取决于当前通知的ID是否在action.payload

state.notifications.map(n => Object.assign({}, n, {isRead: action.payload.indexOf(n.id) > -1}))