最近,我在 React Nexus 上发表了关于“辅助功能和电视应用程序”的演讲。我不断收到的一个问题是:“作为一名 ReactJS 开发人员,开始使用 React Native 有多容易?”
简而言之,对于 ReactJS 开发人员来说,从 React Native 开始会很容易。
在这篇博客中,我将分享 ReactJS 开发人员可以在 React Native 中使用的五件事。
在 React Native 中,您将像在 ReactJS 中那样创建组件。概念和最佳实践保持不变。
import React from 'react'; import { View, Text } from 'react-native'; const GreetingComponent = () => { return (); }; export default GreetingComponent; Hello, Neha!
在 React Native 中,props 和 state 的工作方式与 ReactJS 中相同。要在组件之间进行通信,您将使用 props。要更新值,您将使用 state.
import React from 'react'; import { View, Text } from 'react-native'; const GreetingComponent = ({ name }) => { return (); }; export default GreetingComponent; Hello, {name}!
就像在ReactJS中一样,您可以使用React Native中的所有钩子,例如useState()、useMemo()、useEffect()等。此外,您还可以创建自己的自定义钩子。
import React, { useState } from 'react'; import { View, Text, Button, StyleSheet } from 'react-native'; const GreetingComponent = () => { const [name, setName] = useState('John'); const changeName = () => { setName('Jane'); }; return (); }; export default GreetingComponent; Hello, {name}!
如果您是 React 测试库的粉丝,好消息是您可以使用相同的库在 React Native 中进行测试。
import React from 'react'; import { render, fireEvent } from '@testing-library/react-native'; import GreetingComponent from './GreetingComponent'; test('it renders correctly and changes name on button press', () => { // Render the component const { getByText } = render(); // Assert initial state expect(getByText('Hello, John!')).toBeTruthy(); // Find the button and simulate a press const button = getByText('Change Name'); fireEvent.press(button); // Assert that the name has changed expect(getByText('Hello, Jane!')).toBeTruthy(); });
在 React Native 中,有一些组件可用于在 JSX 中创建视图。但是,在 ReactJS 中,您可以使用任何有效的 HTML DOM 元素。
import React from 'react'; import { View, Text } from 'react-native'; const GreetingComponent = () => { return (); }; export default GreetingComponent; Hello, Neha!
快乐学习!!
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3