我们可以在React.js中的无状态组件中访问Redux吗

时间:2020-03-13 07:22:06

标签: javascript reactjs react-redux redux-thunk

我想访问无状态组件中的redux。怎么做。请举例说明!

2 个答案:

答案 0 :(得分:1)

这里是在react挂钩中使用redux的详细文档。 https://react-redux.js.org/api/hooks

这里是示例代码,使用useSelector和'useDispatch`

import React from "react";
import { useSelector, useDispatch } from "react-redux";

export const Component = () => {
  const value = useSelector(state => state.value);
  const dispatch = useDispatch();

  return (
    <div
      onClick={() => dispatch({ type: "GET_VALUE", payload: {} })}
    >{`Value is ${value}`}</div>
  );
};

答案 1 :(得分:0)

是的。组件是否为无状态无关紧要。可以使用react-redux提供的connect方法在Redux上以相同的方式使用这两种方法,它将把Redux管理状态的选定部分作为道具传递给组件:

import { connect } from 'react-redux'

const mapStateToProps = state => {asProp: state.someField}

function StatelessComponent({asProp}) {
  return <></>
}

export default connect(mapStateToProps)(StatelessComponent)