Reactjs React钩子:将钩子状态传递回父组件
我正在构建我的第一个React本地库,但它当然会带来一些问题。这是React Native的一个小选择器组件库(日期、时间、日期时间、列表、状态),但我需要一些关于如何执行下一步的指导 App.js(最终将成为一个NPM包,但使用App进行测试) 我想使用Reactjs React钩子:将钩子状态传递回父组件,reactjs,react-native,state,react-hooks,Reactjs,React Native,State,React Hooks,我正在构建我的第一个React本地库,但它当然会带来一些问题。这是React Native的一个小选择器组件库(日期、时间、日期时间、列表、状态),但我需要一些关于如何执行下一步的指导 App.js(最终将成为一个NPM包,但使用App进行测试) 我想使用onValueChange以便用户在从NPM包导入组件时可以使用setState将状态设置到他们的屏幕上。到目前为止,它只是将值记录到控制台(但是没有正确地传递值,所以这不起作用)。这就是为什么我有onValueChange作为ListPick
onValueChange
以便用户在从NPM包导入组件时可以使用setState
将状态设置到他们的屏幕上。到目前为止,它只是将值记录到控制台(但是没有正确地传递值,所以这不起作用)。这就是为什么我有onValueChange
作为ListPicker组件的原因。我的问题将在ListPicker.js描述中进一步解释
// Imports: Dependencies
import React, { useState, useEffect } from 'react';
// Imports: Components
import { ListPicker } from './src/ListPicker';
// React Native App
export default App = () => {
// Test Data
const items = [
{ label: '1', value: '1' },
{ label: '2', value: '2' },
{ label: '3', value: '3' },
{ label: '4', value: '4' },
{ label: '5', value: '5' },
{ label: '6', value: '6' },
{ label: '7', value: '7' },
{ label: '8', value: '8' },
{ label: '9', value: '9' },
{ label: '10', value: '10' }
];
return (
<ListPicker listName="List Test" items={items} onValueChange={(value) => console.log(`Value Updated: ${value}`)}/>
);
};
对。只需调用
props.onValueChange
,将更改后的值放入selectValue
方法中即可
// Select Value
selectValue = (value) => {
// React Hook: Set Value
setValue(value);
// React Props: onValueChange
props.onValueChange(value)
};
顺便说一句,您不需要到处使用
try catch
:DonValueChange
是一个函数,当您需要将新值传递给父组件时,根据您的代码需要调用该函数:
//在这里做点什么
只需
props.onValueChange(value)
谢谢!我有在所有函数中使用try/catch块的习惯。什么时候使用它们有经验法则吗?你可以看看这个。对我来说,我通常在向服务器发出请求或读取文件的方法中使用try-catch
。。。
// Select Value
selectValue = (value) => {
// React Hook: Set Value
setValue(value);
// React Props: onValueChange
props.onValueChange(value)
};