Проблема в том, что вы передаете обоим компонентам одно и то же состояние (всего). Таким образом, не имеет значения, кто его увеличивал или уменьшал ... они будут делиться значениями, потому что оба используют одно и то же состояние.
Если каждый компонент должен знать, сколько раз он был увеличен, вы должны создать состояние для самого компонента следующим образом:
import React from 'react';
import { View, Button } from 'react-native';
export default function Reportable() {
const [total, setTotal] = useState(0)
const increase = () => {
setTotal(total + 1)
}
const decrease = () => {
setTotal(total - 1)
}
return (
<View>
<Button onPress={increase} >Increment</Button>
<Button onPress={decrease} >Decrement</Button>
</View>
);
}
Теперь импортируйте Reportable в приложение. js вот так:
import React from 'react';
import { View } from 'react-native';
import Reportable from './Reportable';
export default function App () {
return (
<View>
{/* This is the first Reportable */}
<Reportable />
{/* This is the second Reportable */}
<Reportable />
</View>
);
}
Теперь, если вам нужно получить каждый счет в приложении. js дает нам более подробную информацию о том, что вы пытаетесь реализовать, чтобы мы могли найти решение, соответствующее вашей проблеме.