我想将我自己的自定义样式添加到 react-toastify 消息弹出窗口中,具体取决于它是成功还是错误。到目前为止,我尝试了以下方法:
toastify.js
import { toast, Slide } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
import { css } from "glamor";
toast.configure({
position: toast.POSITION.BOTTOM_RIGHT,
autoClose: 3000,
transition: Slide,
pauseOnFocusLoss: false,
className: css({
backgroundColor: 'red',
}),
bodyClassName: css({
backgroundColor: 'blue',
height: '100%',
width: '100%',
})
});
export default function (message, type, styles = {}) {
switch (type) {
case type === 'success':
toast.success(message);
break;
case type === 'error':
toast.error(message);
break;
case type === 'info':
toast.info(message);
break;
case type === 'warn':
toast.warn(message);
break;
default:
toast(message);
break;
}
}
这是一个函数,我在其中根据类型参数定义 toastify 显示的消息样式类型。然后我这样调用这个函数:
导出默认函数 ({params}) { ... async function deleteTodo (id) { try { const res = await axios.delete( http://localhost:8000/api/delete-task/${id}
);
toastifyMessage(res.data, 'success');
} catch (error) {
errorInfo(toastifyMessage(error, 'error'));
}
}
return (
<li className="menu-item">
<i
className="fas fa-trash"
onClick={() => deleteTask(task._id)}
></i>
</li>
);
}
这就是我得到的:
我仍然得到那个白色的背景。我想要的只是删除默认样式并添加我自己的成功和错误。