Javascript 如何连接react和redux?

Javascript 如何连接react和redux?,javascript,reactjs,redux,Javascript,Reactjs,Redux,我是新手。我正在尝试同时使用ReactJS和redux 有人能解释一下如何将两者联系起来吗 此外,在redux reducer中,我们通常将InitialState设置为某个值。如何将react组件状态中已经存在的值设置为reducer的初始状态 下面是在我的reducer中完成的初始化 const initialState = { pricing:{ total:0 }, appliedPromo:false } 下面是我在react组件中的状态 st

我是新手。我正在尝试同时使用ReactJS和redux

  • 有人能解释一下如何将两者联系起来吗

  • 此外,在redux reducer中,我们通常将InitialState设置为某个值。如何将react组件状态中已经存在的值设置为reducer的初始状态

  • 下面是在我的reducer中完成的初始化

    const initialState = {
        pricing:{
            total:0
        },
        appliedPromo:false
    }
    
    下面是我在react组件中的状态

    state = {
        pricing: {},
        itemDetails: {},
        error: false,
        seeDetails:false,
        showPromoCode:false,
        promocodeApplied:false,
        user_discount:""
      }
    
    我将使用axios更新状态

    componentDidMount() {
    axios
          .get("https://purchsum-fb152.firebaseio.com/data.json")
          .then(response => {
            this.setState({ pricing: response.data.Pricing, itemDetails: response.data.itemDetails });
    
          })
          .catch(error => {
            this.setState({ error: true });
          });   
    }
    
    然后我将状态连接到道具

    const mapStateToProps = (state) => {
      return{
        total: state.pricing.total,
        promoApplied: state.appliedPromo
    }
    }
    const mapDispatchToProp = dispatch =>{
      return{
        onDiscount:()=>dispatch({type:"DISCOUNT",value:10,percentage:100})
      } 
    
    }
    export default connect(mapStateToProps,mapDispatchToProp)(PurchaseOrder); 
    
    仅当我将initialState设置为以下值时,应用程序才会工作:

    const initialState = {
        pricing:{
            total:108.03
        },
        appliedPromo:false 
    }
    
    我不想设置它(没有硬代码)。相反,我希望reducer采用组件中更新的状态值

    我不想设置它(没有硬代码)。相反,我想 在组件中更新的状态值

    不幸的是,这不是redux模式。您必须设置减速器加载的初始状态-我不建议动态执行此操作

    但是,您不能创建一个操作,将组件装载时的状态设置为您想要的状态吗

    我不想设置它(没有硬代码)。相反,我想 在组件中更新的状态值

    不幸的是,这不是redux模式。您必须设置减速器加载的初始状态-我不建议动态执行此操作

    但是,您不能创建一个操作,将组件装载时的状态设置为您想要的状态吗?

    此处应答的可能重复此处应答的可能重复