零件:
const { transactions } = useContext(GlobalContext);
const amounts = transactions.map((transaction) => transaction.amount);
const total = amounts.reduce((acc, item) => (acc += item), 0).toFixed(2);
由于 toFixed,总 const 引发错误
如果没有 toFixed,我的数字将连接为字符串。
我的数字如何被视为字符串??????
我尝试使用 Number 和 parseInt 将字符串转换为数字。它不起作用。
为什么数字连接为字符串?
这是全局状态:
import React, { createContext, useReducer } from "react";
import AppReducer from "./AppReducer";
//Initial State
const initialState = {
transactions: [
{
id: 1,
name: "Payment to Molly Sanders",
href: "#",
category: "expense",
amount: "200",
currency: "USD",
status: "success",
date: "July 11, 2020",
datetime: "2020-07-11",
},
{
id: 2,
name: "Rent",
href: "#",
category: "expense",
amount: "100",
currency: "USD",
status: "processing",
date: "July 1, 2020",
datetime: "2020-07-11",
},
{
id: 3,
name: "Google",
href: "#",
category: "income",
amount: "500",
currency: "USD",
status: "success",
date: "July 18, 2020",
datetime: "2020-07-18",
},
],
};
//Create context
export const GlobalContext = createContext(initialState);
//Provider component
export const GlobalProvider = ({ children }) => {
const [state, dispatch] = useReducer(AppReducer, initialState);
return (
<GlobalContext.Provider
value={{
transactions: state.transactions,
}}>
{children}
</GlobalContext.Provider>
);
};