Слияние кода завершено, страница обновится автоматически
import Taro, {useEffect, useState} from '@tarojs/taro';
import {Text, View} from "@tarojs/components";
import { render } from '../index';
import {StandardProps} from "@tarojs/components/types/common";
interface CounterProps extends StandardProps {
initial?: number;
}
const Counter = (props: CounterProps) => {
const {initial} = props
const [count, setCount] = useState(0)
useEffect(() => {
setCount(initial || 1)
}, [initial])
return (
<Text
onClick={() => {setCount(count+1)}}
className="number custom-class"
>{count}</Text>
);
};
const NestTest = () => {
const [count, setCount] = useState(10)
return (
<View>
<Counter initial={count}>{count}</Counter>
<View className="button" onClick={() => {setCount(20)}}>CLICK</View>
</View>
);
};
describe('useEffect test', () => {
it('should excute useEffect method', () => {
const { container } = render(<Counter />);
const number = container.querySelector('.number') as HTMLSpanElement;
expect(number.innerHTML).toEqual('1');
});
it('should excute useEffect method', () => {
const { container } = render(<NestTest />);
const number = container.querySelector('.number') as HTMLSpanElement;
expect(number.innerHTML).toEqual('10');
});
});
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )