기능 소개
면책 성명
머리말
좋습니다. 파트너: Reduxéuma biblioteca JavaScript de gerenciamento de estados.이것은 도서관 건설의 일부분으로 도서관 시설이다.
미국이에요?1-torna a a sua aplicaão mais fácil de ser testada e 2-poder separar a lógica de gerenciamento de estados da UI 3-elimina a necessidade de“props drilling”,ou seja,passar props para uma seqència de filhos,para que filhos em ramos differentes de components daárvore de usa las.
Voc eenpode Encentral um Examplo de aplicaèo que aplica props drilling aqui(영화 주제는'집'의 정의)과 EMSMO components com redux aqui(영화 주제는'집').
코모 기능?
O mínimo necessário para um reduxeé:
상점
전 세계 응용 상점에서 우리는 os환원제를 사용할 수 있다.Para criar uma 스토어에서는
createStore()
passando como argumento 감속기를 사용합니다.한 상점은 aplicaço envolva - 부품 공급 업체로 <Provider store={store}>
"react redux"에 위치하고 있습니다.나이 <Context.Provider>
세 여성(por baixo dos panosé!!),이것은 통행증 회의이자 비종교 요소 회의이다.2-감속기
너는 다른 상점에 갈 수 있다.이것은 아주 좋은 해석이다.
combineReducers()
년 회의에서 참석자들이 문제를 토론했다.chaves desse objeto ser ão utilizadas para nomear o estado de cada reducer.또 다른 선택으로 그는 마넬라 이무타빌(maneira imutável)의 사업에 기여할 것이다.// /src/store/user.js
export const userReducer = (state = { name: '' }, action) => {
switch(action.type) {
/* Nomear os tipos com o padrão domínio/ação é indicado
pelo guia de estilos do redux */
case: 'user/setUser':
return { name: action.payload };
case: 'user/deleteUser':
return { name: '' };
default:
return { ..state };
};
};
// /src/App.js
import { createStore, combineReducers } from 'redux';
import { Provider } from 'react-redux';
import { formReducer } from './store/form.js';
import { userReducer } from './store/user.js';
import Home from './pages/Home';
const App = () => {
const store = createStore(combineReducers({
form: formReducer,
user: userReducer,
}));
return (
<Provider store={store}>
<Home />
{/* outros componentes */}
</Provider>
);
};
3 - 선택기
O papel do selectoréexpor O estado armazenado na store para a a sua aplicaãO Caso tenha Utizado apenas um reducerépossível faze O com
store.getState()
,sendo store
O objeto Retronado por createStore().Caso tenha utilizado combineReducers()
에서 반응 복원 선택기를 선택합니다.이것은 전 세계 기후 변화에 관한 보고서다.// /src/pages/Home/index.js
import { useSelector } from 'react-redux';
export default const Home = () => {
const user = useSelector((state) => state.user);
return (
<header>
<p>{`Olá, ${user.name}`}</p>
{/* resto da página */}
</header>
);
};
4. 파견
Odispatchéa funçOque chamaráo 감속기.Eleéo Returno de
useDispatch()
de‘react redux’5. 행동
연구소의 세인트앤서니오로서전통 분석에서의 e형 유효 하중.유형 감속기 정보 및 유효 하중 컨텐트는 실용성을 예로 들면 다음과 같습니다.
// /src/pages/Home/index.js
import { useSelector, useDispatch } from 'react-redux';
const Home = () => {
//repare que a chave declarada em combineReducers é usada aqui
const user = useSelector((state) => state.user);
const dispatch = useDispatch();
const handleClick = () => {
dispatch({type: 'user/setUser', payload: 'Sergio'})
}
return (
<header>
<p>{`Olá, ${user.name}`}</p>
<button onClick={handleClick}>Meu nome é Sergio</button>
</header>
);
};
Uma boa práticaéutilizar um action creator,queéUma funço que returna um objeto action.파레세 데스네체사리오(Pode parecer desnecessário)는 우리의 일은 간단하다고 말한다.// /src/store/user.actions.js
export function doSetUser(payload) {
return { type: 'user/setUser',
payload };
};
export function doDeleteUser() {
return { type: 'user/deleteUser' };
};
// /src/pages/Home/index.js
import { useSelector, useDispatch } from 'react-redux';
import { doSetUser } from '../../store/user.actions.js';
const Home = () => {
//repare que a chave usada em combineReducers é usada aqui
const user = useSelector((state) => state.user);
const dispatch = useDispatch();
const handleClick = () => {
// código mais limpo
dispatch(doSetUser('Sergio'))
};
return (
<header>
<p>{`Olá, ${user.name}`}</p>
<button onClick={handleClick}>Meu nome é Sergio</button>
</header>
);
};
다시 말하다
한 상점은 createStore(reducer)
의 일부분이다.수정 과정에서 스케줄러(do useDispatch()
)는 행동(objeto com a forma {type, payload}
)을 취하고 수정 과정에서 감속기(funço que Retrona um estado)를 사용하지 않는다.선택기(podendo ser useSelector(callback)
ou store.getState()
).
크리오시다드
nomeado assim porque age como-um 어레이를 다시 사용합니다.prototipe.reduce(), no sentido que, ambos, cada itera çço, recebem dois par çmetros(estado e a aço, no caso do redux)와 retronam um novo estado.진열의 주파수를 줄이지 않고 영상의 리듬을 중복하지 않는다.
줄다
const incrementOrDecrement= [true, false, true, true]
const total = incrementOrDecrement.reduce((accumulator, current) => {
if (current) {
return accumulator + 1;
} else {
return accumulator - 1;
}
}, 0);
O 어레이의 증가분 또는 감소분 데이터 양을 감소시킴으로써 이전 데이터 양을 current
, 이전 데이터 양을 accumulator
으로 나타냅니다.
Untitled
은투 total = 2
.
뇌두
이와 유사하게 poderiamos ter o seguinte 이경관:
const reducer = (state, action) => {
switch(action.type) {
case 'increment':
return state + 1
case 'decrement':
return state - 1
}
};
예를 들어 우리는 지난 몇 년 동안 비슷한 스케줄링을 해 왔다.
dispatch({ type: 'increment' })
dispatch({ type: 'decrement' })
dispatch({ type: 'increment' })
dispatch({ type: 'increment' })
뉴 체가리 아모스 a store.getState() = 2
소브 에사 티카(Sob essaótica)는 행동의 대진열로서 우리는 공동의 행동이 필요하고 최종 행동 계획이 필요하다고 말했다.
증명하다
당신의 군도는 무엇입니까?
nomeado assim porque age como-um 어레이를 다시 사용합니다.prototipe.reduce(), no sentido que, ambos, cada itera çço, recebem dois par çmetros(estado e a aço, no caso do redux)와 retronam um novo estado.진열의 주파수를 줄이지 않고 영상의 리듬을 중복하지 않는다.
줄다
const incrementOrDecrement= [true, false, true, true]
const total = incrementOrDecrement.reduce((accumulator, current) => {
if (current) {
return accumulator + 1;
} else {
return accumulator - 1;
}
}, 0);
O 어레이의 증가분 또는 감소분 데이터 양을 감소시킴으로써 이전 데이터 양을 current
, 이전 데이터 양을 accumulator
으로 나타냅니다.Untitled
은투
total = 2
.뇌두
이와 유사하게 poderiamos ter o seguinte 이경관:
const reducer = (state, action) => {
switch(action.type) {
case 'increment':
return state + 1
case 'decrement':
return state - 1
}
};
예를 들어 우리는 지난 몇 년 동안 비슷한 스케줄링을 해 왔다.dispatch({ type: 'increment' })
dispatch({ type: 'decrement' })
dispatch({ type: 'increment' })
dispatch({ type: 'increment' })
뉴 체가리 아모스 a store.getState() = 2
소브 에사 티카(Sob essaótica)는 행동의 대진열로서 우리는 공동의 행동이 필요하고 최종 행동 계획이 필요하다고 말했다.증명하다
당신의 군도는 무엇입니까?
Reference
이 문제에 관하여(기능 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/teddiur/introducao-funcional-a-react-redux-5d21텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)