首页 > 解决方案 > 如何在其他文件中调用函数的getter

问题描述

我的 index.js 中有这个功能:

import React, { useState, useEffect } from 'react';

export const getters = {
  aPrice:null,
  bPrice:null
}

const setters = {
  aPrice:null,
  bPrice:null
}

export const Toto = () => {
  [getters.aPrice , setters.aPrice] = useState(null);
  [getters.bPrice , setters.bPrice] = useState(null);

  // runs once
  useEffect(() => {
    setters.aPrice(50));
    setters.bPrice(40);
  }, []);

  return (
    <SectionWrapper>
      ...
    </SectionWrapper>
  )
}

我想在这个文件 main.js 中获得 aPrice :

所以我已经导入了这个:import {Toto, getters} from index.js

当我试图安慰它时:

console.log(getters.aPrice);

我有价值null吗?

标签: javascripttypescript

解决方案


问题

  1. aprice 和 bprice 未设置。

解决方案

删除这部分。

const setters = {
  aPrice:null,
  bPrice:null
}

并使用这部分来设置数据。

export const Toto = () => {
  [getters.aPrice , setAprice] = useState(null);
  [getters.bPrice , setBprice] = useState(null);

  // runs once
  useEffect(() => {
    setAprice(50));
    setBPrice(40);
  }, []);

  return (
    <SectionWrapper>
      ...
    </SectionWrapper>
  )
}

推荐阅读