redux-model больше не поддерживается, пожалуйста, перейдите на foca
После многих лет накопления и практики работы со состоянием, а также личного развития в области технологий, было замечено, что использование классов для разработки состояния недостаточно эффективно. Поэтому был создан новый набор библиотек для управления состоянием foca, который более продвинутый и эффективный, можно сказать, это ремастер версия redux-model. Хотя обе они основаны на Redux, но радость заключается в том, что foca и redux-model могут использоваться одновременно в одном проекте, при этом данные не будут мешать друг другу, снова приветствуем использование foca.
Redux-Model был спроектирован для решения проблем сложной разработки с помощью исходного Redux, повторяющихся трудозатрат, увеличивающегося объема кода из-за шаблонных файлов, а также затрудненного отслеживания кода из-за распределённых файлов action и reducer.
npm install @redux-model/react
# Для Taro 3+
npm install @redux-model/taro
# Для Taro 2+
npm install @redux-model/taro@6.10.0 @tarojs/redux
# Для Taro 1+
npm install @redux-model/taro@6.9.5 @tarojs/redux
# Для Vue 3+
npm install @redux-model/vue
# Для Vue 2+
npm install @redux-model/vue@6.9.2
interface Response {
id: number;
name: string;
}
interface Data {
counter: number;
users: Partial<{
[key: string]: Response;
}>;
}
class TestModel extends Model<Data> {
plus = this.action((state, step: number = 1) => {
state.counter += step;
});
}
Получение Action
testModel.plus();
testModel.plus(2);
testModel.getUser(3);
testModel.getUser(5).then(({ response }) => {});
const data = testModel.useData(); // { counter: number, users: object }
const counter = testModel.useData((data) => data.counter); // number
const users = testModel.useData((data) => data.users); // object
const loading = testModel.getUser.useLoading(); // boolean
type ReactProps = ReturnType<typeof mapStateToProps>;
const mapStateToProps = () => {
return {
counter: testModel.data.counter, // number
users: testModel.data.users, // object
loading: testModel.getUser.loading, // boolean
};
};
``````javascript
export default connect(mapStateToProps)(App);
Для просмотра документации нажмите здесь.
Выполнение тестовых сценариев выполните командой yarn test
.
Изменение локальной документации выполните командой yarn docs
.
Приветствуем ваше использование и всегда рады принимать ваши предложения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )