⏱ 0:01est. 8 min
Axi
import React, { createContext, useContext } from "react";
/**
{
data: {
src: {
components: {
one.js,
two.js
},
},
assets: {
fonts: {
roboto.ttf
},
utils.js
},
index.js,
.env
}
}
*/
const AppContext = createContext({});
const TodoList = () => {
const { todos } = useContext(AppContext);
// using Reducer
return (
<ul>
{todos.map((task) => (
<li key={task.id}>
{task.title} - {task.expense}{" "}
</li>
))}
</ul>
);
};
const formatter = new Intl.NumberFormat("en-US", {
style: "currency",
currency: "USD",
});
export default function App() {
const [todos, setTodos] = React.useState([]);
// https://jsonplaceholder.typicode.com/todos/
// Fetch data
// expense: 12345.12234234
// $12,345.2323
// redux-toolkit
//
if (!Boolean(todos.length)) {
return <>No data</>;
}
React.useEffect(async () => {
const response = await fetch("https://jsonplaceholder.typicode.com/todos/");
const data = await response.json();
const newData = data.map((task) => {
task["expense"] = formatter.format(Math.random() * 100000);
return task;
});
setTodos(newData);
}, []);
return (
<AppContext.Provider value={{ todos }}>
<>
<h1>Todos</h1>
<TodoList />
</>
</AppContext.Provider>
);
}
/**
sum all the elements in nested arrays
*/
/**
export default function serverTreeLookup(serverTree: string, address: string): string {
//Insert your code here
console.log(serverTree);
console.log(address)
console.log(typeof serverTree);
const serverTreeObj = JSON.parse(serverTree);
function findAddress(node: any) {
if (!node) { return }
if (node.hasOwnProperty('address')) {
if (node["address"] == address) {
return node.hasOwnProperty("hostname") ? node["hostname"]: "";
}
}
if (node.hasOwnProperty('left')) {
findAddress(node.left);
}
if (node.hasOwnProperty('right')) {
findAddress(node.right);
}
}
const result = findAddress(serverTreeObj);
if (result === "" || (result && result.length>0)) {
return result
}
return "Not found!"
}
*/