當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript react-redux.connect函數代碼示例

本文整理匯總了TypeScript中react-redux.connect函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript connect函數的具體用法?TypeScript connect怎麽用?TypeScript connect使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了connect函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: factory

function factory(
    showModal: (s: State) => boolean,
    closeActionEmitter: () => Action,
    applyActionEmitter: () => Action
) {

    function mapStateToProps(state: State): PendingChangesModalComponent.Props {
        return {
            show: showModal(state)
        };
    }

    return connect(
        mapStateToProps,
        {
            onHide: () => closeActionEmitter(),
            onContinueAndDiscard: () => batch(
                applyActionEmitter(),
                closeActionEmitter()
            ),
            onContinueAndSave: () => batch(
                saveCurrentCartride(),
                applyActionEmitter(),
                closeActionEmitter()
            )
        }
    )(PendingChangesModalComponent);
}
開發者ID:mschroeder,項目名稱:6502.ts,代碼行數:28,代碼來源:pendingChangesModal.ts

示例2: connect

export default <TInner extends {}, TOutter extends {}>(
  mapEventsToProps: (ownProps: TOutter, eventsData: Linode.Event[]) => TInner,
) => connect((state: ApplicationState, ownProps: TOutter) => {
  const eventsData = state.events.events;

  return mapEventsToProps(ownProps, eventsData);
});
開發者ID:displague,項目名稱:manager,代碼行數:7,代碼來源:events.container.ts

示例3: connect

) => <TUIState, TMappedProps = Props<TUIState>>(
  id: string,
  mapProps?: MapCreateUIStateProps<TUIState, TMappedProps>,
) => connect(
  (state: TAppState, props: UIStateComponentProps<TMappedProps>) => ({
    uiState: uiStateSelector(
      state, Object.assign({ uiStateId: id, uiStateBranchSelector }, props)
    ) as TUIState,
  }),
  (dispatch) => ({
    setUIState: setUIStateSelector<TUIState, UIStateIdProps<{}>>(dispatch, { uiStateId: id }),
  }),
  // Using Object.assign here to avoid "Spread types may only be created from object types"
  // https://github.com/Microsoft/TypeScript/issues/10727
  (stateProps, dispatchProps, ownProps) => Object.assign(
    {},
    ownProps,
    mapProps
      ? mapProps({...stateProps, ...dispatchProps})
      : {...stateProps, ...dispatchProps}
  )
)((props) => {
  // Until TypeScript allows spread on interfaces, force props to any to allow ES7 rest syntax
  // https://github.com/Microsoft/TypeScript/issues/16780
  // tslint:disable-next-line:no-any
  const { children, ...rest } = props as any;
  return children(rest);
});
開發者ID:jamiecopeland,項目名稱:redux-ui-state,代碼行數:28,代碼來源:createUIState.ts

示例4: connect

export default <TInner extends {}, TOutter extends {}>(
  mapAccountToProps: (ownProps: TOutter, account?: Linode.Profile) => TInner
) =>
  connect((state: ApplicationState, ownProps: TOutter) => {
    const profile = state.__resources.profile.data;

    return mapAccountToProps(ownProps, profile);
  });
開發者ID:linode,項目名稱:manager,代碼行數:8,代碼來源:profile.container.ts

示例5: connect

export default <TInner extends {}, TOutter extends {}>(
  mapToProps: MapProps<TOutter, TInner>
) =>
  connect((state: ApplicationState, ownProps: TOutter) => {
    const { loading, error, entities } = state.__resources.linodes;

    return mapToProps(ownProps, entities, loading, error);
  });
開發者ID:linode,項目名稱:manager,代碼行數:8,代碼來源:withLinodes.container.ts

示例6: connect

export const withNotifications = (
  mapState: (s: State) => any = defaultMapState,
  mapDispatch: (actions: Actions) => any = defaultMapDispatch
) =>
  connect(
    (state: ApplicationState) => mapState(state.__resources.notifications),
    mapDispatch(actions)
  );
開發者ID:linode,項目名稱:manager,代碼行數:8,代碼來源:notification.containers.ts

示例7: connect

export default <TInner extends {}, TOutter extends {}>(
  mapImagesToProps: (ownProps: TOutter, images: Linode.Image[], imagesLoading: boolean, imageError?: string ) => TInner,
) => connect((state: ApplicationState, ownProps: TOutter) => {
  const images = state.__resources.images.entities;
  const imagesLoading = state.__resources.images.loading;
  const { error } = state.__resources.images;
  const imageError = isEmpty(error) ? error![0].reason : undefined; // @todo use updated error handling utils after they're merged

  return mapImagesToProps(ownProps, images, imagesLoading, imageError);
});
開發者ID:displague,項目名稱:manager,代碼行數:10,代碼來源:withImages.container.ts

示例8: dispatch

export default <AppState, Data>({
    namespace,
    contentTypes,
}: {
    namespace: string
    contentTypes: Array<IContentType<Data>>
}) => {
    const actions = actionsFactory<Data>(namespace)

    const mapStateToProps = ({
        panes
    }: AppState & {
        panes: IPanesState<Data>
    }) => {
        const entry = panes[namespace]

        return {
            namespace,
            root: entry === undefined ? undefined : entry.panes.find(pane => pane.childOf === undefined),
            panes: entry === undefined ? [] : entry.panes,
            contentTypes
        }
    }

    const mapDispatchToProps = (dispatch: Dispatch) => ({
        init:  () => {
            dispatch(actions.initPanesNamespace())
        },
        setCurrentPane: (paneId: string) => {
            dispatch(actions.setCurrentPane(paneId))
        },
        addContentToCurrentPane: (content: IPaneContent<Data>) => {
            dispatch(actions.addContentToCurrentPane(content))
        },
        setPaneCurrentContent: (paneId: string, contentId: string) => {
            dispatch(actions.setPaneCurrentContent(paneId, contentId))
        },
        removePaneContent: (paneId: string, contentId: string) => {
            dispatch(actions.removePaneContent(paneId, contentId))
        },
        removeContentFromAllPanes: (contentId: string) => {
            dispatch(actions.removeContentFromAllPanes(contentId))
        },
        splitPane: (paneId: string, axis: PaneSplitAxis) => {
            dispatch(actions.splitPane(paneId, axis))
        },
    })

    class NameSpacedPaneManager extends PaneManager<Data> {}

    return connect(
        mapStateToProps,
        mapDispatchToProps
    )(NameSpacedPaneManager)
}
開發者ID:manishshanker,項目名稱:wiremock-ui,代碼行數:55,代碼來源:createPaneManager.ts

示例9: connect

export default <TInner extends {}, TOutter extends {}>(
  mapVolumesToProps: (ownProps: TOutter, volumesData: VolumesData, volumesLoading: boolean, volumesError?: Error ) => TInner,
) => connect((state: ApplicationState, ownProps: TOutter) => {
  const { items, itemsById } = state.__resources.volumes;

  const volumesData = { items, itemsById };
  const volumesLoading = state.__resources.volumes.loading;
  const volumesError = state.__resources.volumes.error;

  return mapVolumesToProps(ownProps, volumesData, volumesLoading, volumesError);
});
開發者ID:displague,項目名稱:manager,代碼行數:11,代碼來源:volumes.container.ts

示例10: mapSelectors

}: Config = {}) => (
    mapStateToProps,
    mapActionsToProps?: any
  ) => {
  const makeMapStateToProps = () => mapSelectors(selectors, mapStateToProps)

  let connectState = connect(makeMapStateToProps)

  if (mapActionsToProps) {
    const mapDispatchToProps = (dispatch: Dispatch<State>, ownProps: OP) => (
      mapActions(actions, mapActionsToProps, { dispatch, ownProps })
    )

    connectState = connect(makeMapStateToProps, mapDispatchToProps)
  }

  return compose(
   connectState,
   stateHOC
  )
}
開發者ID:spartansystems,項目名稱:booster-kit-react,代碼行數:21,代碼來源:connectState.ts


注:本文中的react-redux.connect函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。