#reactjs #react-native #expo
Вопрос:
доброе утро
Я хотел отправить некоторые данные массива дочернему компоненту , цель этого компонента-сократить мой код на одну страницу
эту страницу я назвал домашней страницей, внутри домашней страницы есть несколько диаграмм
import Chart01 from ../components/chart01
import Chart02 from ../components/chart02
import Chart03 from ../components/chart03
и на этой домашней странице будут кнопки, которые (я планирую) отправят значение на эти 3 диаграммы
const [FirstValue,setFirstValue] = useState(0)
return(
<View>
<View>
<Button onPress={()=>setFirstValue(1)}
<Button onPress={()=>setFirstValue(2)}
<Button onPress={()=>setFirstValue(3)}
</View>
<Chart01/>
<Chart02/>
<Chart03/>
</View>
)
Как отправить значение First с домашней страницы на Chart01 Chart02 Chart03 ?
и в Chart01, как я могу назвать значение, отправленное с домашней страницы ?
Спасибо
Ответ №1:
В доме у вас есть пропуск, как показано ниже,
<Chart01 value={FirstValue}/>
<Chart02 value={FirstValue}/>
<Chart03 value={FirstValue}/>
В определении Chart01,02,03 вы должны прочитать реквизиты.
const Chart01 = (props) => {
const { value } = props;
// someting
};
Ответ №2:
Передайте значения в качестве реквизитов компонентам диаграммы.
const [firstValue, setFirstValue] = useState(0);
return(
<View>
<View>
<Button onPress={() => setFirstValue(1)}
<Button onPress={() => setFirstValue(2)}
<Button onPress={() => setFirstValue(3)}
</View>
<Chart01 value={firstValue} />
<Chart02 value={firstValue} />
<Chart03 value={firstValue} />
</View>
);
В компонентах диаграммы вы можете получить доступ к переданному значению из value
реквизита (или как бы вы его ни называли). Например:
props.value