#reactjs #react-native
Вопрос:
Я довольно новичок в реакции nativ, так что простите меня, если я упускаю что-то действительно очевидное. Я пытаюсь вызвать функцию, которая находится в другом файле.
import * as psscreen from '../screens/ProductSearchScreen';
const searchFilterFunction = (text) => {
if (text) {
console.log(text);
psscreen.productFilterFunction(text);
setSearch(text);
} else {
setSearch(text);
}
};
Мой другой файл выглядит примерно так
export const productFilterEx = (text) => {
console.log('test');
};
const ProductSearchScreen = ({ navigation}) => {
const [search, setSearch] = useState('');
// Product data
const [filteredProductDataSource, setFilteredProductDataSource] = useState([]);
const [masterProductDataSource, setMasterProductDataSource] = useState([]);
const productFilterFunction = (text) => {
console.log('test');
if (text) { // Inserted text is not blank
const newProductData = masterProductDataSource.filter(
function (item) {
const productItemData = item.product_name
? item.product_name.toUpperCase()
: ''.toUpperCase();
const productTextData = text.toUpperCase();
return productItemData.indexOf(productTextData) > -1;
});
setFilteredProductDataSource(newProductData);
setSearch(text);
} else { // Inserted text is blank
setFilteredProductDataSource(masterProductDataSource);
setSearch(text);
}
};
};
export default ProductSearchScreen;
Я могу вызвать productFilterEx, если заменю имя функции в функции поиска, но я не могу переместить всю функцию в эту область, так как мои состояния использования не будут работать. Я чувствую, что должно быть простое решение, но я не могу его понять.