сегодня я закончил свое первое приложение React - калькулятор.
Я думаю, что было бы лучше иметь приложение. js очистить и поместить все функции logi c в отдельный файл Logi c. js, а также все функции дизайна (изменение размера шрифта вывода в зависимости от длины числа или кнопки при анимации щелчка), например, в Эффектах. js.
Возникла проблема, когда я взял функции , поместил их в новый файл (конечно, экспортировал их, а также импортировал в app. js).
Ошибка говорит, что setNumber (метод, который я вызываю, когда хочу работать с состоянием),
number.firstNumber (состояние firstNumber, которое содержит номер первого щелчка),
И каждое состояние, которое я вызываю в этом файле (функции или условия), не определено, поэтому это означает, что этот файл не имеет доступа к приложению . js состояние. Есть ли способ сохранить эти функции разделенными и мне не нужно перестраивать все приложение, чтобы получить чистый код?
Приложение. js создание состояний, с которыми я работаю в этих функциях
const [number, setNumber] = useState({
firstNumber: "",
secondNumber: "",
operator: "",
result: "0",
displayed: "0",
cButton: "AC",
cButtonCheck: false,
numToReset: false,
sizeOfOutput: "1em",
isOrange: false
});
Пример функции в новом файле, которая выдает ошибку setNumber, не определена
function turnOnOrange(operator) {
if (number.isOrange === false) {
setNumber(prevState => ({
...prevState,
isOrange: true,
whichOrange: operator
}));
operator.className = "orangeActivated";
}
}
Спасибо, ссылка, чтобы вы могли увидеть весь код
https://codesandbox.io/embed/youthful-platform-n6lvs?fontsize=14&hidenavigation=1&theme=dark&codemirror=1