在我学习如何安装 jwt 并应用于我的 React Native 后,我正在使用 React-native,axios 我看到没有状态管理我必须传递从登录身份验证获取的 jwt 令牌作为道具向下多个 lvl,我开始讨厌。所以我研究了一下,redux, redux-thunk, redux-saga然后选择了redux-saga。
任何人都可以指导我设置 redux-sagas 之类的文件夹结构,代码拆分示例我有 2 页,如产品、固件。
在 redux-thunk 中
action/
/actionProduct.js
/actionFirmware.js
reducer/
/index.js
/productReducer.js
/firmwareReducer.js
store.js
index.js
Run Code Online (Sandbox Code Playgroud)
但是在 redux-saga 中,我开始混淆它有 action、reducer、saga 和 store 也是不同的设置。
const sagaMiddleware = createSagaMiddleware();
// mount it on the Store
const store = createStore(reducer, applyMiddleware(sagaMiddleware));
// then run the saga
sagaMiddleware.run(mySaga);
export default store;
Run Code Online (Sandbox Code Playgroud)
在 redux-thunk 中,我从未见过类似的语法 sagaMiddleware.run(mySaga);
我是否需要创建 sagas 文件夹并添加 2 个 sagas 像 productSagas、firmwareSagas ?
我需要写2行吗
sagaMiddleware.run(productSagas); …Run Code Online (Sandbox Code Playgroud) 上传并重命名到我的数据库时,我只需要存储文件名+文件扩展名。我的问题是无法获取扩展名。
$new_file_name=date("mdY")."_".time();
$config['upload_path'] = './assets/images/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 2048;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$config['file_name'] = $new_file_name;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('uploadFile'))
{
$error = array('error' => $this->upload->display_errors());
var_dump($error);
}
else
{
$data = array('upload_data' => $this->upload->data());
var_dump($data);
echo $config['file_name'] . $config['file_ext'];
}
Run Code Online (Sandbox Code Playgroud)
我的下一个问题是加载帮助表单?或者需要加载表单才能使用库 form_validation ?
$this->load->helper(array('form')); for ?
$this->load->library('form_validation'); this for validation rule
Run Code Online (Sandbox Code Playgroud)